У меня есть несколько текстовых файлов в каталоге, и я знаю, что мне нужно редактировать каждый из них по отдельности.
Я начинаю с линии похвалы с
vim *.txt
который открывает файлы как отдельные буферы в vim и оставляет меня глядя на первый. Я редактирую его, затем использую «: w» для его сохранения и «: bd» для закрытия буфера и перехода к следующему.
Этот ': w: bd' для сохранения и закрытия буфера мне кажется долгим, и я подозреваю, что есть более vim-ниндзя способ сделать это - каков рекомендуемый способ сохранить и закрыть буфер, над которым вы работаете, одним махом?
:next
буфер и написать / закрыть все, как только ваша задача будет закончена:wqa
. Это предполагает, что у вас есть:set hidden
в вашем~/.vimrc
.Ответы:
При передаче файлов в Vim из командной строки они не только открываются в буферах, но и заполняют список аргументов . Следовательно, вы можете использовать такие команды, как
:next
и,:first
для навигации по ним (и:argdo
для пакетной обработки, что может быть изящным приемом). Для вашего вопроса я рекомендую команду:wnext
(краткая форма:wn
), которая:write
представляет текущий буфер, а затем переходит к:next
одному.Вам не нужно явно указывать
:bdelete
буфер, особенно если вы запускаете Vim из командной строки с набором файлов, а затем завершаете его, когда закончите. (Единственное исключение, о котором я могу подумать, это выгрузка огромного файла для экономии системной памяти или повторное использование одного экземпляра GVIM для многих различных правок.)Однако, если вы действительно этого хотите, просто определите пользовательскую команду, например
источник
:w|bd
.:next
что в некоторых случаях он имеет больше смысла.Хотя я согласен с тем, что вам не нужно удалять открытые буферы, которые вы в данный момент не используете, мне нравится их удалять, потому что у меня включена строка вкладок vim-Airlines , которая показывает все открытые буферы все время в верхней части окна. окно. У меня есть следующее в моем
.vimrc
:qq
сохраняет и закрывает текущий буфер, но также портит функциональность «макро записи» в vim (с которой у меня все в порядке).источник
ZZ
модуль, но в итоге он полностью сохраняет и выходит из Vim, а не просто удаляет буфер. Строчные буквыzz
могут быть интересным альтернативным отображением для тех, кто считает макросы более ценными, чем центрирование представления на текущей строке курсора.Q
, осознав, насколько ценной может быть запись в Vim.