Самое близкое, что я могу придумать, - это создать функцию:
function! W() range
execute "e " . getline("'<")[getpos("'<")[2]-1:getpos("'>")[2]]
endfu
Затем вы можете выбрать слово и набрать :call W()
+ enter, что должно открыть новый буфер.
РЕДАКТИРОВАТЬ Функция выше не работает без ошибок, если буфер, содержащий #include
, изменен. В таком случае лучше подходит следующая функция:
function! W() range
let l:fileName = getline("'<")[getpos("'<")[2]-1:getpos("'>")[2]]
new
execute "w " . l:fileName
endfu
РЕДАКТИРОВАТЬ 2 Вы также можете попробовать набрать :e <cfile>
(см. :help <cfile>
).
РЕДАКТИРОВАТЬ 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>