2015-03-16 2 views
0

В vim я могу набрать 'gf', чтобы перейти к пути к файлу под курсором, но если этот файл не существует, я получаю сообщение об ошибке.Перейти к новому файлу в vim

Есть ли способ открыть новый файл со словом под курсором? В идеале я бы хотел, чтобы этот буфер открывался на новой вкладке.

Редактироватьnoremap gf :tabe <cfile><CR> хорошее предложение, но я надеюсь, что есть также способ реализации этого отображения и воспользоваться настройкой suffixesadd.

ответ

3

С помощью :help gf

If you do want to edit a new file, use: 
     :e <cfile> 
To make gf always work like that: 
     :map gf :e <cfile><CR> 

Если вы хотите, чтобы открыть ее в новой вкладке вы можете изменить :e к :tabe, так что вы получите

noremap gf :tabe <cfile><CR> 

<cfile> является заменяется на путь под курсором.


Следующая функция, которая пытается нормальную <c-w>gf (открыть файл под курсором в новой вкладке, уважая 'suffixesadd' и проверяет, существует ли файл), и если это не удается просто открыть файл под курсором в новой вкладке.

+0

'noremap gf: tabe ' хорошо выглядит. Есть ли способ воспользоваться настройкой «suffixesadd», используя это сопоставление? – chishaku

+0

@chishaku Я добавил функцию, которая пытается использовать нормальный ' gf', который будет уважать' 'suffixesadd''. Однако поскольку '' suffixesadd ''является списком, разделенным запятыми, он не может знать, какой из них следует открыть, если в списке имеется более одного суффикса. Если вы хотите, чтобы вы могли добавить его сами. – FDinoff

+0

Отлично. Благодаря! – chishaku

0

Используйте :e <filename>, чтобы отредактировать файл, независимо от того, существует он или нет.

+0

Я знаю эту команду, но у меня нет такого же удобства, как и для gf. – chishaku