У меня есть следующие сопоставления (вдохновленные Vimperator), которые облегчают переключение предыдущего / следующего буфера.
nmap <C-P> :bp<CR>
nmap <C-N> :bn<CR>
Это действительно хорошо работает с 'n'. Когда вы закончите работать со своим файлом, просто нажмите CTRL-n, прежде чем снова нажать n, и вы будете искать в следующем буфере. Повторяйте, пока не пройдете все буферы.
Другим способом работы со многими файлами является список аргументов.
Содержит любые файлы, переданные в качестве параметров при запуске vim (например, vim someFile.txt someOtherFile.py
). Файл в [скобках] является текущим файлом.
:args
[someFile.txt] someOtherFile.py
: n вернет вас к следующему файлу в списке и: N вернет вас. Вы также можете добавить в список аргументов с помощью: argadd или создать новый список аргументов с помощью
:n some.py files.py you.py want.py to.py work.py with.py
or to open all *.py files recursively from some project.
:n ~/MyProjects/TimeMachine/**/*.py
Список аргументов хорошо работает и с макросами (см .: help q), если у вас есть похожие изменения в ваших файлах. Просто запишите свой макрос в первый файл, завершите с помощью: n, чтобы перейти к следующему файлу, и остановите запись.
qq/searchForSomethingAndDoStuffOrWhatever:nq
Затем запустите ваш макрос по всем файлам (6 @ q), посмотрите, чтобы все прошло хорошо, и добавьте: wall.
Это зависит от того, что вы хотите сделать. Если у вас есть одно изменение, которое одинаково для многих файлов (и это единственные загруженные вами файлы), мне также нравится команда: ba (: tabdo sp). Это очень быстро, и вы можете видеть, что происходит.
И если у вас открыто несколько буферов, вы можете загрузить файлы, в которых вы хотите работать, каждый в окне, и выполнить регулярное выражение для всех из них.
CTRL-w v :b someFile
:sp anotherFile
...
:windo :%s/foo/bar/g
Я действительно рекомендую FuzzyFinder, он намного упрощает вашу жизнь при открытии файлов.
http://www.vim.org/scripts/script.php?script_id=1984
Ммммммммм VIM - это хорошо! ТАК СЕКСУАЛЬНО! :)