在我的 C 头文件中说我想包含另一个尚未创建的文件:
#include "AnotherFile.h" /*not being created yet*/
现在,我在可视模式下选择文件,
#include "
AnotherFile.h
"如何使用我选择的名称创建一个新文件?我是说,
:e {something that refers to what I selected}
最佳答案
我能想到的最接近的是创建一个函数:
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>
关于vim - 有没有办法在 Vim 的命令中引用当前选定的文本?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8515493/