Команда нормального режима - gf
перейти к файлу с путем, на котором находится курсор в данный момент.
Но это происходит в текущем окне, заменяя текущий текст. Это означает, что вам нужно явно перейти назад, чтобы вернуться к нему позже, и что вам необходимо записать изменения в текущий буфер.
Я уверен, что это возможно, открыв файл под курсором в новой вкладке?
key-bindings
tabbed-user-interface
multiple-files
file-operations
Volker Siegel
источник
источник
'hidden'
опции (set hidden
) позволяет вам перемещаться от несохраненных буферов. Для меня это стало огромным стимулом для повышения производительности, и было жизненно важно перестать так сильно полагаться на разбиения и вкладки.Ответы:
РЕДАКТИРОВАТЬ: Предложить красиво симметричные отображения для случая разделения по вертикали, поскольку Vim по умолчанию имеет два отображения для случая разделения по горизонтали.
Существует несколько способов отредактировать «файл под курсором», и хотя вы, безусловно, можете переназначить его gfдля редактирования на новой вкладке, как упоминает @ alexander-myshov, это означает, что у вас есть два способа отредактировать его на новой вкладке, но нет способа отредактируйте его в текущем окне, что вы можете иногда захотеть сделать. Нетрудно использовать стандартные сопоставления, но если вы хотите переназначить одно из них gf, я бы рекомендовал переключить сопоставления, чтобы вы не потеряли одно из них.
Некоторые из способов отредактировать имя файла под курсором:
Не существует стандартного сопоставления для редактирования существующего файла под курсором в вертикальном разделении, но вы можете добиться этого, сначала разделив окно по вертикали, а затем отредактировав файл под курсором в текущем окне.
Как вы можете видеть выше, есть два отображения по умолчанию для редактирования файла под курсором в горизонтальном разделении. Поэтому вы можете переназначить один из них на цепочку ключей выше, расширяя группу карт, чтобы охватить также вертикальный разделенный регистр. Вы можете связать что - нибудь, конечно, но это , кажется , чтобы закончить симметрию красиво:
nnoremap <C-W><C-F> <C-W>vgf
. Теперь у вас естьВы также можете перейти к определенной строке в файле, если после имени файла под курсором следует номер строки. Если у вас есть
Вы можете отредактировать файл и переместить курсор на строку 10 с помощью gF. Эквивалент верен для C-WFразделения и C-WgFдля вкладки. Завершение симметрии для вертикального разделения здесь не так просто, но я хотел бы предложить, чтобы C-WC-S-Fкарта получалась с
nnoremap <C-W><C-S-F> <C-W>vgF
имитацией Fили Shift+ fиз карт по умолчанию в качестве кандидата.Это
:
пример, вы можете использовать любой символ, который не является символом имени файла (см.:h 'isfname'
).Все эти команды идут с яблочным соусом, таким как
'path'
варианта'suffixesadd'
выбору'includeexpr'
вариантомЧитайте больше на
:help gf
и разделах справки для этих различных вариантов.Если имя файла под курсором называет файл, который не существует, вам может быть лучше использовать стандартные команды редактирования с
<cfile>
, например,и с ними, конечно, вы можете использовать такие вещи, как
:spl+10 filename
перемещение курсора на определенную строку или:tabe+/cologne filename
перемещение курсора к первому вхождению шаблона.источник
Просто используйте привязки для этого:
открытие в новом окне (сплит):
Открытие в новой вкладке:
также проверьте это:
:help CTRL-W_gf
источник
gf
что-то еще. Дажеnnoremap gf :echo "hello"<CR>
все еще открывает файл под курсором в новом буфере (и да, я выбрал vimrc).