我想在Eclipse中使用Ctrl+ Shift+ R或自动填充的Ctrl+ N选项在Vim中打开一个文件.调用键盘快捷键,键入文件名/模式,然后从所有匹配的文件名中进行选择.
我知道打开它通常像:
:tabe:new :edit
这里的问题是我必须在这些情况下指定整个文件路径.
我通常做的是e .
(e-space-dot),它给我一个可浏览的当前目录 - 然后我可以/
- 搜索名称片段,就像在文本文件中查找单词一样.我发现通常足够好,简单快捷.
我最近爱上了fuzzyfinder.vim ...... :-)
:FuzzyFinderFile将允许您通过键入部分名称或模式来打开文件.
:find
是另一种选择.
我从项目的根目录打开vim并将其path
设置为那里.
然后,我可以使用以下命令打开位于树中任何位置的文件:
:find **/filena< tab >
标签将通过各种匹配自动完成.(**
告诉它通过路径递归搜索).
您可以使用**
以下方法在当前路径中搜索文件:
:tabe **/header.h
如果有多个匹配,请按Tab键查看各种完成情况.
考虑使用CtrlP插件.
它包含在Janus Distributive中.
允许您使用"模糊匹配"或正则表达式查找当前目录中的文件,打开缓冲区或最近使用的文件.
除非我遗漏了什么,:e filename是我发现的最快的方式.
您也可以使用tab来自动填充文件名.
我喜欢我的设置上的:FuzzyFinderTextMate(或Ctrl+ F).见http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim
我在.vimrc文件中使用了几个快捷方式(下面的确切语法).
它们基于以下事实:在90%的情况下,我想在与我当前正在编辑的文件相同的目录中打开另一个文件,或者在与该编辑文件的层次结构非常接近的目录中打开.
这是命令执行的操作:
,cd
:将当前工作目录更改为您正在编辑的当前文件所在的目录.
,e
:打开已填满,所以你必须指定当前工作目录中的文件只是文件名.
把它们放到.vimrc中:
map ,e :e=expand("%:p:h") . "/" map ,cd :cd %:p:h
这是一系列事件:
您正在"/ home/prog"中编辑名为test.java的文件
,cd
- >当前工作目录现在变为"/ home/prog"
,e
- >扩展为":e/home/prog",这样你就可以填写文件名,比如test.h.
,e
- >扩展为":e/home"
tab
- >遍历/ home的子目录
enter
- > cd
到你想说的目录/ home/prog
,e
- >扩展为":e/home/prog"
还有命令 - 我发现它是最好的一组(我已经尝试过所有这些).安装它是一件轻微的麻烦,但是一旦安装它,它就是一个梦想.
https://wincent.com/products/command-t/
使用选项卡,它们在vim转义模式下输入文件路径时有效!