Оставить окно разделения vim в режиме вставки
Я хочу просмотреть вывод команды bash в окне разделения vim :split
. Для этого я установил "Conque Shell", который отображает bash в разделенном окне по :ConqueTermSplit bash
. Затем я могу запустить команду оболочки и посмотреть выход в режиме вставки. Однако, чтобы вернуться в другое окно, мне нужно ввести < CTRL-W > < & вверх GT; в командном режиме, поэтому мне нужно оставить режим вставки. Следовательно, отображение вывода команды замерзает и продолжается, только если я вернусь в это окно и войду в режим ввода. Итак, как я могу оставить "Conque Shell", не покидая режим вставки.
Обратите внимание, что другие способы просмотра вывода bash во втором окне могут также решить мою проблему. Однако он должен обновляться, пока я работаю в другом окне, и позволяю мне сигнализировать, например. < CTRL-C > к приложению.
В документации ConqueTerm говорится:
3.1.5 Продолжайте обновлять буфер терминала * ConqueTerm_ReadUnfocused *
Если установлено значение 1, ваши буферы Conque будут продолжать обновляться после того, как вы
переключился на другой буфер.
Примечание: буферы Conque могут продолжать обновляться, но они не будут прокручиваться вниз, как
новые строки добавляются за пределы области видимого буфера. Это
ограничение языка сценариев Vim, для которого я не нашел
обходной путь. > let g: ConqueTerm_ReadUnfocused = 1
Ответы
Ответ 1
AFAIK Vim не поддерживает асинхронные сеансы, поэтому это скорее ответ на ваш запрос о возможных альтернативных вариантах.
То, как я сейчас сталкиваюсь с этой проблемой, - это tmux, который описывается как:
терминальный мультиплексор: он включает несколько терминалов (или окон), каждый из которых запускает отдельную программу, которую нужно создать, получить доступ и управляемый с одного экрана.
Итак, в основном, вместо того, чтобы разбивать ваш экран в Vim, вы разделили бы его с помощью tmux, а затем в одном окне запустите Vim, а в другом запустите любую другую программу, которую вы хотите, которая будет полностью обновляться независимо от Vim. И точно так же, как Vim, вы можете переключаться между окнами (или панелями, так как они вызываются в tmux lingo), используя пару ключевых штрихов.
Существует еще один терминальный мультиплексор, называемый экран GNU, который также довольно популярен. И причина, по которой я упоминаю об этом, заключается в том, что мне нравится иметь параметры, а также есть два плагина для Vim, которые позволяют отправлять вывод непосредственно на подключенный экран или сеанс tmux. Для экрана GNU slime.vim, а для tmux tslime.vim.
Ответ 2
Используя VIM
и ConqueTerm
, вы можете использовать CTRL + W и UP/Down для изменения окон в режиме split
.
Просто нажмите ESC, чтобы выйти из режима insert
.
Это хорошо работает на моей стороне.