Я могу открыть оболочку с помощью команды: shell в Vim, однако я не могу редактировать файл и в то же время использовать оболочку.
Есть ли способ разделить Vim во многих Windows (или вкладках) и открыть оболочку в одном из них?
Я могу открыть оболочку с помощью команды: shell в Vim, однако я не могу редактировать файл и в то же время использовать оболочку.
Есть ли способ разделить Vim во многих Windows (или вкладках) и открыть оболочку в одном из них?
Ну, это зависит от вашей ОС - на самом деле я не тестировал ее в MS Windows, но Conque - один из лучших плагинов есть.
Собственно, это может быть лучше, но работает.
Vim 8 (и neovim) поддерживают это изначально с помощью команды :ter[minal]
. См. terminal-window
в документации для деталей.
:vsp
или :sp
- разбивает vim на два экземпляра, но вы не можете использовать: shell только в одном из них.
Почему бы не отобразить еще одну вкладку терминала, а не другую вкладку vim. Если вам нравится эта идея, вы можете попробовать: Ctrl-shift-t.
и перемещаться между ними с помощью Ctrl - pageup
и Ctrl - pagedown
Если вы хотите только несколько команд оболочки, вы можете сделать любую команду оболочки в vim с помощью !
Например :!./a.out
.
Если вы еще не обнаружили, вы можете использовать удивительный экранный плагин.
Conque также является исключительным, но я нахожу экран гораздо более практичным (он не "засоряет" ваш буфер, например, и вы можете просто отправить команды которые вам действительно нужны после их редактирования в вашем буфере)
Вы можете использовать tmux
или screen
(второй может выполнять только горизонтальные расщепления без патча) для разделения вашего терминала. Но я не знаю, как иметь один экземпляр Vim в обеих панелях.
Я думаю, это довольно старый вопрос, но теперь в 2017 году. У нас есть neovim, который является веткой vim, которая добавляет поддержку терминала.
Так что вызывая :term
откроет окно терминала. Прелесть этого решения по сравнению с использованием tmux (терминального мультиплексора) заключается в том, что у вас будут те же привязки окон, что и в вашей настройке vim
. neovim совместим с vim, поэтому вы можете скопировать и вставить ваш .vimrc
и он будет работать.
Большим преимуществом является то, что вы можете переключиться в обычный режим на открытом терминале, и вы можете выполнять базовые операции копирования и редактирования. Я думаю, это также очень полезно для коммитов git, так как все, что в вашем буфере, вы можете использовать в автозаполнении.
Я обновлю этот ответ, так как vim также планирует выпустить поддержку терминала, вероятно, в vim 8.1. Вы можете следить за прогрессом здесь: https://groups.google.com/forum/#!topic/vim_dev/Q9gUWGCeTXM
Как только он выйдет, я верю, что это более качественная установка, чем использование tmux.
Shougo VimShell, который может автоматически заполнять имена файлов, если используется с neocomplcache
Не совсем то, о чем вы просите, но вас может заинтересовать мой плагин vim-notebook, который позволяет пользователю поддерживать фоновый процесс живым и оценить его часть текущего документа (и записать результат в документе). Он предназначен для использования в документах в стиле ноутбука, содержащих фрагменты кода для оценки.
Вы можете открыть программу "screen", разделить экран, открыть оболочку на одном и vim на другой. Работает для меня.
В настоящее время я использую tmux.
Установка: sudo apt-get install tmux Запустите его: tmux
Ctrl + b, за которым следует Ctr +%: он разбивает ваше окно терминала на две вертикальные половины.
Ctrl + "стрелка влево | стрелка вправо": перемещается между терминалами.