оставить разделенное окно vim в режиме вставки - PullRequest
19 голосов
/ 11 августа 2011

Я хочу просмотреть вывод команды bash в разделенном окне vim :split.Для этого я установил «Conque Shell», который отображает bash в разделенном окне при :ConqueTermSplit bash.Затем я могу запустить команду оболочки и посмотреть результат в режиме вставки.Однако, чтобы вернуться в другое окно, мне нужно набрать в командном режиме, поэтому мне нужно выйти из режима вставки.Следовательно, отображение выходных данных команды останавливается и продолжается, только если я вернусь в это окно и войду в режим вставки.Так как я могу выйти из «Conque Shell», не выходя из режима вставки.

Обратите внимание, что другие способы просмотра вывода bash во втором окне также могут решить мою проблему.Однако он должен обновиться, пока я работаю в другом окне, и разрешить мнек заявке.


Документация ConqueTerm гласит:

3.1.5 Продолжать обновлять буфер терминала * ConqueTerm_ReadUnfocused *

Если установлено значение 1, ваши буферы Conque продолжат обновляться после того, как выВы переключились на другой буфер.

Примечание. Буферы Conque могут продолжать обновляться, но они не будут прокручиваться вниз при добавлении новых строк за пределы нижней части видимой области буфера.Это ограничение языка сценариев Vim, для которого я не нашел обходного пути.> let g: ConqueTerm_ReadUnfocused = 1

Ответы [ 2 ]

7 голосов
/ 20 сентября 2011

AFAIK Vim не поддерживает асинхронные сеансы, так что это скорее ответ на ваш запрос о возможных альтернативных опциях.

В настоящее время я могу обойти эту проблему с помощью tmux , который описывается как:

терминальный мультиплексор: он позволяет нескольким терминалам (или окнам), на каждом из которых выполняется отдельная программа, создавать, получать доступ и управлять ими с одного экрана.

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

Существует еще один терминальный мультиплексор, который называется GNU screen ,что также довольно популярно.И причина, о которой я упоминаю, заключается в том, что мне нравятся опции, а также есть два плагина для Vim, которые позволяют отправлять вывод непосредственно на подключенный экран или сеанс tmux.Для экрана GNU slime.vim , а для tmux tslime.vim .

0 голосов
/ 21 января 2014

Используя VIM и ConqueTerm, вы можете использовать CTRL + W и UP / Down , чтобы изменить окна в *Режим 1011 *.

Просто нажмите сначала ESC , чтобы выйти из режима insert.

Он хорошо работает на моей стороне.

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