Я знаю о варианте :!ls
, но я хотел бы использовать один из разделенных интерфейсов (после :sp
) в качестве окна командной строки. Это возможно? Если это так, как мне это сделать?
6 ответов
В отличие от Emacs, Vim старается быть немного более минималистичным, когда дело доходит до работы с оболочкой. Он не имеет возможности включить интерактивную оболочку в одну из своих вкладок или буферов.
Хотя для этого есть обходные пути. Как и вы, мне действительно нравится иметь окно bash
в том же терминальном сеансе, где у меня работает Vim. Это супер полезно при редактировании исходных файлов. В моем случае мне действительно нравится запускать среду Ruby REPL, чтобы я мог проверить операторы, прежде чем помещать их в исходные файлы.
Я использую Tmux для создания разделенного окна. В Tmux я создаю разделенное окно (ключ по умолчанию - ctrl+b, "). Это откроет 2 сеанса интерактивной оболочки, подобно разделенному окну в Vim. Затем я запускаю Vim на одном из сеансов, и все готово.
Из рисунка ниже видно, что я разделил окно по горизонтали с помощью bash
сверху и Vim снизу.
Я также использую Tmux для поддержки парного программирования с другими. Вы можете прочитать больше о моей настройке в моем блоге по адресу http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac.
Вы пробовали экран? Любая причина, которая не сработает для вас?
Не уверен, что вам нужно решение экрана GNU или решение, использующее встроенные функции разделения Vim, но если вы ищете последнее, это сработало для меня:
vim -O file_a.js file_b.js
Это открывает оба файла с вертикальным разделением. Для обычного (горизонтальное разделение) просто используйте -o
.
PS Ctrl+w, w для переключения между ними (я считаю, это хороший способ различить разбиение экрана и разделение vim).
Vim 8 имеет встроенный режим терминала.
Вы можете набрать :ter
чтобы получить доступ к терминалу.
Для навигации по командам в вашей оболочке по умолчанию используйте j,k
.
Вы можете получить больше информации, набрав :h ter
в VIM8.
Примечание: ваш VIM8 должен иметь +terminal
чтобы это работало.
Я искал это долго и, насколько я могу сказать, ничего хорошего действительно невозможно. Я перепробовал много плагинов / аддонов для vim, но никто не работал так, как я хотел.
Это хорошо, хотя: ConqueTerm
Однако это имеет некоторое несоответствие с цветами. Попробуйте, может быть, это сработает для вас.
Вы можете использовать NeoVim, он имеет встроенный режим терминала, похожий на emacs (хотя и очень новый) - это позволяет вам иметь его в окне, как и любой другой буфер vim.