Новичок в Vim как закрыть все окна, если закрыто окно редактора?

Я довольно недавно начал использовать ВИМ, перешел из VsCode так как в arch есть проблема с записью в файлах... У меня ужа настроен NERDTree, но я никак не могу закрыть окно терминала, как мне это сделать?

autocmd BufEnter * if tabpagenr('$') == 1 && winnr('$') == 1 && exists('b:NERDTree') && b:NERDTree.isTabTree() | quit | endif

botright :terminal  

Ответы (1 шт):

Автор решения: Roman-Stop RU aggression in UA

Вообще, чтоб выполнить vim ex-команду, когда активно окно терминала, нужно перед ней ввести Ctlr+W и потом :.

Чтоб в принципе выйти из vim закрыв все окна нужно дать команду :qa в ex режиме. Но это работает, только если нет несохраненных изменений в буферах редактирования. Иначе нужно либо сохранить все буфера, либо принудительно закрыть буфера с потерей несохраненных изменений. Это делается командой :qa! (восклицательный знак означает "закрыть принудительно").

Когда запущен терминал, то есть дополнительная сложность - он может выполнять команду и его закрытие извне в любом случае требует принудительное закрытие. Лучше всего закрыть терминал выполнив команду выхода в самом терминале. В зависимости от того, какой у вас shell, это или команда exit или символ конца файла (Ctrl+D в linux/mac или Ctrl+z в Windows). И после этого можно закрыть vim обычной командой, т.е. :qa или :qa!.

Если же нужно закрыть принудительно все окна, когда терминал в фокусе, то нужно использовать все вместе: Ctlr+W :qa!Enter.

→ Ссылка