首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从命令行打开vim时查找文件?

如何从命令行打开vim时查找文件?
EN

Stack Overflow用户
提问于 2017-05-07 10:23:13
回答 3查看 70关注 0票数 0

我用&path很好地设置了我的vim,以帮助我仅使用名称查找文件:

代码语言:javascript
复制
cd $PROJECT
vim

:fi foo.c             -> loads "$PROJECT/path/to/foo.c"

在命令行上指定文件时,如何获得相同行为?也就是说,我想这样做:

代码语言:javascript
复制
cd $PROJECT
vim foo.c             -> loads "$PROJECT/path/to/foo.c"
EN

回答 3

Stack Overflow用户

发布于 2017-05-07 11:05:43

为什么不使用shell的find呢?如下所示(从命令行):

代码语言:javascript
复制
>vim $(find foo.c)
票数 0
EN

Stack Overflow用户

发布于 2017-05-07 14:55:45

我很惊讶居然还没有人写下这篇文章。或者,惊讶于谷歌没有为我找到它。

无论如何,我受到这样的约束:首先,为了将&path设置为我需要的值,必须运行一个插件(vim-localrc plugin)。我第一次尝试使用autocmd BufNew失败了,因为&path仍然有它的默认值。

我想出了这个黑客。它不支持多个buffers等,但我想当我对需要它感到愤怒时,我会添加它:

代码语言:javascript
复制
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>'))
票数 0
EN

Stack Overflow用户

发布于 2017-05-07 17:39:47

顺便说一句,:fi不是:find的快捷方式。这是:file的快捷方式,它是:find非常不同的

在命令行上指定文件时,如何获得相同的行为?

您可以使用以下命令告诉Vim在启动时执行:find foo.c

代码语言:javascript
复制
$ vim +find\ foo.c
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43827224

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档