Если я открою vim с несколькими файлами в командной строке, например, vim debug.log*
какие загрузки debug.log
, debug.log.1
и debug.log.2
, могу ли я перемещаться между ними, назначить их нескольким окнам ( :split
/ :vsplit
) или тому подобное?
Только ярлык я знаю для этого режима работы :n
, который загружает следующий файл в списке. Что еще я могу сделать в этом режиме мульти-файл? (или которые помогают при условии покрытия , что?)
multiple-files
load
Научная фантастика
источник
источник
:previous
(или:prev
) является инверсией:n
и возвращает файл.Ответы:
Наиболее релевантная тема справки
:ls
, также известная как:files
или:buffers
.В вашем
vim debug.log*
примере, если вы дадите:ls
команду, вы увидите:… Указывает, что первый является активным буфером.
Чтобы открыть
debug.log.2
в текущем окне, дать:b 3
или:b debug.log.2
команду , чтобы показать буфер 3.Чтобы разбить окно и открыть в нем буфер 2, введите
:sb 2
команду. Вертикально-разделенная версия этого есть:vert sb 2
.Есть много вариантов
:b
команды; просмотрите разделы справки, приведенные здесь, чтобы почувствовать их.Кроме того, вы можете вызвать ,
vim -o debug.log*
чтобы открыть все файлы, каждый в своем расколе, илиvim -O debug.log*
открывать их каждый в вертикальном расколу.источник
В дополнение к необработанной функциональности vim, упомянутой в 200_success, экосистема Vim полна плагинов для обеспечения дополнительной функциональности, такой как:
Однако, прежде чем вы начнете использовать плагины, лучше полностью понять буферы и окна в vim.
источник
Вы также можете открыть VIM с другими параметрами.
Открывает файлы во вкладках:
Открывает файлы в вертикальных разделениях:
Есть крутой и довольно мощный плагин под названием CtrlSpace:
https://github.com/szw/vim-ctrlspace
Это очень удобно, если вам нужно работать со многими файлами. Просто вы можете представить ctrl-space как собственный список буферов для каждой вкладки. Это обеспечивает очень простой способ навигации между файлами, как утверждает автор:
источник
Если вы хотите открыть определенный файл без необходимости проходить через него
:ls
, вы можете использовать любое из следующих действий::vs filename
открывает файл в вертикальном разрезе:sp filename
делает то же самое, но в горизонтальном разрезе:tabe filename
открывается в новой вкладкеТакже стоит знать, что если вы не укажете имя файла, вы откроете новую панель split / tab текущего файла, что может пригодиться для длинных файлов.
источник
:t
это команда копирования Для:tabedit
тебя нужно как минимум:tabe
.Есть несколько полезных ярлыков для навигации по нескольким файлам:
CTRL-^
(гдеN
находится номер буфера), чтобы перейти к ранее отредактированному файлу.N CTRL-^
(гдеN
номер буфера), чтобы перейти к определенному буферу.Например:
Это эквивалентно
:buffer N
.Используйте
:Ex
/:Sex
/:Vex
для навигации по текущему каталогу.Используйте
:tabs
взамен (vim -p
) с некоторыми пользовательскими ярлыками,.vimrc
такими как:Используйте
:ba
/,:vert ba
чтобы разделить, перейти в выбранный буфер через Control+w, w/ W, а затем сделать его текущим окном (:on
).источник