Проблема с закрытием разделенных окон в Vim - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть два разделенных окна в Vim (левое - my_file.txt, правое - терминал) с помощью rightb vert term в .vimrc.Для закрытия обоих окон я обычно использую exit в терминале, а затем :q для my_file.txt.Но если я закрываю окна в другом порядке (сначала :q для файла, а затем exit для терминала), процесс "Vim" все еще жив, и открывается окно с my_file.Поэтому мне нужно использовать :q еще раз для закрытия окна my_file.Можете ли вы предположить причину?

1 Ответ

0 голосов
/ 18 декабря 2018

Когда вы :quit открываете окно, пока другое окно еще открыто, Vim запоминает буфер , который был отредактирован внутри этого окна.Вы можете увидеть это с помощью команды :ls.Теперь, когда вы exit из терминала, это работает не так, как :quit, а, скорее, это окно закрывается, и Vim вызывает исходный буфер, который был ранее отредактирован, и завершается.(Вы также можете принудительно :quit! из терминала, даже если задание все еще выполняется; Vim завершит работу, так как последнее окно было закрыто.)

Если вы закончили работу с буфером и у вас нетесли вы хотите, чтобы он «вернулся» (когда другое окно становится свободным и Vim ищет запомненные буферы для отображения), используйте :bdelete вместо :quit.

В качестве альтернативы, если вызнаю, что вы полностью закончили сеанс Vim и не заботитесь о запомненных буферах, просто используйте :quitall (короткий :qa).

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