Я использую Vim в Screen. Я запустил команду
vim <bigFolder>
Я застрял, так как не имеет смысла закрывать каждый буфер
:q
Как вы можете закрыть все активные буферы в Vim, с помощью одной команды внутри Vim?
Я использую Vim в Screen. Я запустил команду
vim <bigFolder>
Я застрял, так как не имеет смысла закрывать каждый буфер
:q
Как вы можете закрыть все активные буферы в Vim, с помощью одной команды внутри Vim?
:qall
или :qa
закроет все окна
Команда :bufdo
позволяет выполнить команду для всех буферов. В этом случае вы хотите запустить :bufdo bdelete
, чтобы закрыть все открытые буферы за один раз.
:% шд (далить)
Я думаю, это то, о чем вы просите
:on
закроет все буферы, кроме тех, которые вы сейчас редактируете (курсор находится внутри этого буфера).
:on!
также закрывает модифицированные буферы, но они станут скрытыми буферами.
:ls
перечисляет все буферы со своим статусом (скрытым,...)
Некоторая помощь:
:h only
:h hidden-buffer
:h ls
:on
НЕ закрывает буферы.
Он закрывает только другие окна.
Это не совсем то, что вы просили, но следующее может дать желаемый результат. Это:
:tabo
):only
)1 b
)удаляет буферы с номерами от 2 до 2000 (2,2000bd
)
:tabo | :only | 1 b | 2,2000 bd
Если у вас открыто более 2000 буферов, отрегулируйте их соответствующим образом.
Это вы просто хотите удалить все буферы, 1,2000bd
должно выполнить задание, но обратите внимание, что новые, пустые буферы будут созданы для всех открытых вкладок и окон.
Это не сохраняет буферы. Может быть: wqall!: XALL! немного лучше.
Если вам удастся полностью закрыть VIM, вы все равно сможете убить его извне VIM.
kill %vim
ps
. Вы можете убить его:$ ps -f -C vim
UID PID PPID C STIME TTY TIME CMD
nfellman 27273 7473 0 Jun24 pts/15 00:00:00 /nfs/iil/home/nfellman/vim/bin/vim a.pl
nfellman 37213 23747 0 Jun23 pts/15 00:00:00 /nfs/iil/home/nfellman/vim/bin/vim b.pl
Итак, если я хочу убить VIM, который редактирует a.pl
, вы можете сделать:
kill -9 27273
Это должно работать даже внутри экрана
:q!
всегда работает для меня.