Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Vim中创建并打开一个路径在光标下的不存在的文件进行编辑?_Vim - Fatal编程技术网

如何在Vim中创建并打开一个路径在光标下的不存在的文件进行编辑?

如何在Vim中创建并打开一个路径在光标下的不存在的文件进行编辑?,vim,Vim,我在RubyonRails上试用Vim的头几个小时,到目前为止我很喜欢它 具体来说,gf命令很棒,但我遗漏了一些东西: 如果光标下的文件尚不存在,gf返回错误 如果文件不存在,是否有实际创建和打开该文件的命令? 或者,最简单的创建方法是什么?可以定义打开的gf命令的自定义变量 如果光标下的文件不存在,则为新缓冲区: :noremap <leader>gf :e <cfile><cr> :noremap gf:e 其中,:e命令可以替换为:tabe(打开 新

我在RubyonRails上试用Vim的头几个小时,到目前为止我很喜欢它

具体来说,
gf
命令很棒,但我遗漏了一些东西: 如果光标下的文件尚不存在,
gf
返回错误

如果文件不存在,是否有实际创建和打开该文件的命令?
或者,最简单的创建方法是什么?

可以定义打开的
gf
命令的自定义变量 如果光标下的文件不存在,则为新缓冲区:

:noremap <leader>gf :e <cfile><cr>
:noremap gf:e
其中,
:e
命令可以替换为
:tabe
(打开 新文件的缓冲区(在单独的选项卡中)或其他 文件打开命令

也可以只创建一个名为 不打开光标;处理一个类似的问题
“”.

试着在这里查看:是的,但我看到的最接近的是“gf”,但它的目标是仅当文件已经存在时才转到部分,而不是创建文件。请参见SU上的复制:
:e
对于偶尔使用来说已经足够了,由于
获取的文件名与
gf选择的文件名相同,因此对我不起作用-我的文件嵌套在子文件夹中。有时我想从已经在子文件夹中的文件创建子文件夹中的文件。这是限制吗?我键入了确切的命令(我尝试了解决方案和注释),并且还获取了我的vimrc。它只是说“在路径中找不到foo/bar.txt文件”有什么要说的吗,以防跳过
?例如:
:映射gf:e
?@BernhardWagner:只不过它会对原始的
gf
映射产生阴影。使用非冲突的引导键作为映射前缀(请参见
:help mapleader
)是避免与现有映射冲突的推荐方法之一。但是,如果您希望对内置贴图进行阴影处理,那么当然,您的贴图不应该使用引线。