我用&path很好地设置了我的vim,以帮助我仅使用名称查找文件:
cd $PROJECT
vim
:fi foo.c -> loads "$PROJECT/path/to/foo.c"在命令行上指定文件时,如何获得相同行为?也就是说,我想这样做:
cd $PROJECT
vim foo.c -> loads "$PROJECT/path/to/foo.c"发布于 2017-05-07 11:05:43
为什么不使用shell的find呢?如下所示(从命令行):
>vim $(find foo.c)发布于 2017-05-07 14:55:45
我很惊讶居然还没有人写下这篇文章。或者,惊讶于谷歌没有为我找到它。
无论如何,我受到这样的约束:首先,为了将&path设置为我需要的值,必须运行一个插件(vim-localrc plugin)。我第一次尝试使用autocmd BufNew失败了,因为&path仍然有它的默认值。
我想出了这个黑客。它不支持多个buffers等,但我想当我对需要它感到愤怒时,我会添加它:
function! Find_if_not_exist(path)
if ! filereadable(a:path)
exe ":find ".a:path
endif
endfunction
autocmd VimEnter * call Find_if_not_exist(expand('<afile>'))发布于 2017-05-07 17:39:47
顺便说一句,:fi不是:find的快捷方式。这是:file的快捷方式,它是与:find非常不同的。
在命令行上指定文件时,如何获得相同的行为?
您可以使用以下命令告诉Vim在启动时执行:find foo.c:
$ vim +find\ foo.chttps://stackoverflow.com/questions/43827224
复制相似问题