Как я могу открыть Shell в окне Vim? - PullRequest
96 голосов
/ 06 мая 2010

Я могу открыть оболочку с помощью команды: shell в Vim, однако я не могу редактировать файл и одновременно использовать оболочку.

Есть ли способ разделить Vim во многих окнах (или вкладках) и открыть оболочку в одной из них?

Ответы [ 10 ]

45 голосов
/ 06 мая 2010

Ну, это зависит от вашей ОС - на самом деле я не тестировал ее на MS Windows - но Conque - один из лучших плагинов.

На самом деле, это может быть лучше, но работает.

41 голосов
/ 07 февраля 2016

Vim 8 (и neovim) поддерживают это изначально с помощью команды :ter[minal].Подробнее см. terminal-window в документации.

18 голосов
/ 06 мая 2010

:vsp или :sp - разбивает vim на два экземпляра, но вы не можете использовать: shell только в одном из них.

Почему бы не отобразить еще одну вкладку терминала, а не другую вкладку vim. Если вам нравится идея, вы можете попробовать ее: Ctrl-shift-t. и перемещаться между ними с помощью Ctrl - pageup и Ctrl - pagedown

Если вам нужно всего несколько команд оболочки, вы можете сделать любую команду оболочки в vim, используя !

Например :!./a.out.

8 голосов
/ 31 марта 2011

Если вы еще не узнали, вы можете использовать удивительный экранный плагин .

Conque также является исключительным, но я нахожу экран гораздо более практичным (например, он не "засоряет" ваш буфер, и вы можете просто отправлять команды, которые вам действительно нужны, после их редактирования в буфере)

7 голосов
/ 06 мая 2010

Вы можете использовать tmux или screen (секунда может делать только горизонтальные разделения без патча), чтобы разделить ваш терминал. Но я не знаю, как создать один экземпляр Vim на обеих панелях.

5 голосов
/ 13 сентября 2017

Думаю, это довольно старый вопрос, но теперь в 2017 году. У нас есть neovim, который является веткой vim, которая добавляет поддержку терминала.

Таким образом, вызов :term откроет окно терминала. Прелесть этого решения по сравнению с использованием tmux (терминального мультиплексора) заключается в том, что у вас будут те же привязки окон, что и у вашей vim настройки. neovim совместим с vim, поэтому вы можете просто скопировать и вставить .vimrc, и он будет работать.

Большим преимуществом является то, что вы можете переключаться в обычный режим на открытом терминале и выполнять простое копирование и редактирование. Я думаю, это также очень полезно для коммитов git, так как все, что в вашем буфере, вы можете использовать в автозаполнении.

Я обновлю этот ответ, поскольку vim также планирует выпустить поддержку терминала, возможно, в vim 8.1. Вы можете следить за прогрессом здесь: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM

Как только он выйдет, я верю, что это более качественная установка, чем использование tmux.

3 голосов
/ 02 августа 2013

Shougo VimShell , который может автоматически заполнять имена файлов при использовании с neocomplcache

1 голос
/ 29 октября 2014

Не совсем то, что вы просите, но вас может заинтересовать мой плагин vim-notebook , который позволяет пользователю поддерживать фоновый процесс в действии и оценивать часть текущего документа записать вывод в документ). Он предназначен для использования в документах в стиле блокнота, содержащих фрагменты кода для оценки.

0 голосов
/ 05 июня 2016

Я сейчас использую tmux.

Установка: sudo apt-get установить tmux Запустите его: tmux

Ctrl + b, а затем Ctr +%: оно разделяет окно терминала на две вертикальные половины.

Ctrl + «стрелка влево | стрелка вправо»: перемещение между терминалами.

0 голосов
/ 17 января 2016

Вы можете открыть «экранную» программу, разделить экран, открыть оболочку на одном и vim на другом. У меня работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...