РЕДАКТИРОВАТЬ: Предложить красиво симметричные отображения для случая разделения по вертикали, поскольку Vim по умолчанию имеет два отображения для случая разделения по горизонтали.
Существует несколько способов отредактировать «файл под курсором», и хотя вы, безусловно, можете переназначить его gfдля редактирования на новой вкладке, как упоминает @ alexander-myshov, это означает, что у вас есть два способа отредактировать его на новой вкладке, но нет способа отредактируйте его в текущем окне, что вы можете иногда захотеть сделать. Нетрудно использовать стандартные сопоставления, но если вы хотите переназначить одно из них gf, я бы рекомендовал переключить сопоставления, чтобы вы не потеряли одно из них.
Некоторые из способов отредактировать имя файла под курсором:
- gf - Изменить существующий файл под курсором в том же окне
- C-Wf - Редактировать существующий файл под курсором в разделенном окне
- C-WC-F - Редактировать существующий файл под курсором в разделенном окне
- C-Wgf - Изменить существующий файл под курсором на новой вкладке
Не существует стандартного сопоставления для редактирования существующего файла под курсором в вертикальном разделении, но вы можете добиться этого, сначала разделив окно по вертикали, а затем отредактировав файл под курсором в текущем окне.
- C-Wv+ gf- Редактировать существующий файл под курсором в вертикально разделенном окне
Как вы можете видеть выше, есть два отображения по умолчанию для редактирования файла под курсором в горизонтальном разделении. Поэтому вы можете переназначить один из них на цепочку ключей выше, расширяя группу карт, чтобы охватить также вертикальный разделенный регистр. Вы можете связать что - нибудь, конечно, но это , кажется , чтобы закончить симметрию красиво: nnoremap <C-W><C-F> <C-W>vgf
. Теперь у вас есть
- gf - Изменить существующий файл под курсором в том же окне
- C-Wf - Редактировать существующий файл под курсором в разделенном окне
- C-WC-F - Редактировать существующий файл под курсором в вертикально разделенном окне
- C-Wgf - Изменить существующий файл под курсором на новой вкладке
Вы также можете перейти к определенной строке в файле, если после имени файла под курсором следует номер строки. Если у вас есть
filename:10
Вы можете отредактировать файл и переместить курсор на строку 10 с помощью gF. Эквивалент верен для C-WFразделения и C-WgFдля вкладки. Завершение симметрии для вертикального разделения здесь не так просто, но я хотел бы предложить, чтобы C-WC-S-Fкарта получалась с nnoremap <C-W><C-S-F> <C-W>vgF
имитацией Fили Shift+ fиз карт по умолчанию в качестве кандидата.
Это :
пример, вы можете использовать любой символ, который не является символом имени файла (см. :h 'isfname'
).
Все эти команды идут с яблочным соусом, таким как
- расширить wildchars
- искать в большем количестве мест, чем текущий каталог, в зависимости от вашего
'path'
варианта
- добавив расширение файла к имени файла, согласно вашему
'suffixesadd'
выбору
- в противном случае измените указанное имя файла, чтобы найти соответствие, в соответствии с вашим
'includeexpr'
вариантом
Читайте больше на :help gf
и разделах справки для этих различных вариантов.
Если имя файла под курсором называет файл, который не существует, вам может быть лучше использовать стандартные команды редактирования с <cfile>
, например,
:edit <cfile> // edit non-existent file under cursor in current window
:split <cfile> // edit non-existent file under cursor in split window
:vsplit <cfile> // edit non-existent file under cursor in vertical split window
:tabe <cfile> // edit non-existent file under cursor in new tabpage
и с ними, конечно, вы можете использовать такие вещи, как :spl+10 filename
перемещение курсора на определенную строку или :tabe+/cologne filename
перемещение курсора к первому вхождению шаблона.
'hidden'
опции (set hidden
) позволяет вам перемещаться от несохраненных буферов. Для меня это стало огромным стимулом для повышения производительности, и было жизненно важно перестать так сильно полагаться на разбиения и вкладки.