我严格使用vim,但是在打开文件时我正在使用emacs并且非常喜欢ido-mode。只需开始输入文件名的一部分,它就会缩小搜索范围,只需在您想要的文件位于列表前面时按Enter键。 vim有类似的东西吗?我一直在寻找没有运气。
感谢
答案 0 :(得分:3)
Theres一些很好的快速文件查找器插件,如fuzzyfinder http://www.vim.org/scripts/script.php?script_id=1984,可以增强您的体验。 (模糊查找器似乎做了模棱两可的选择)
另外你可能想看看野生模式调整选项ala:he wildmode
我在这里解释的方法并不适用于暧昧的技巧,但它是标签友好的。
How do I make vim do normal (bash like) tab completion for file names?
答案 1 :(得分:1)
vim有文件名的标签完成,但不幸的是它显示了整个第一个匹配,而不是仅仅在它达到像bash标签完成那样的歧义时停止。
答案 2 :(得分:0)
我有同样的问题,解决方案是“:help wildmode”。我个人使用
set wildmenu
set wildmode=longest:full,full
答案 3 :(得分:0)
根据您要完成的内容,您有以下选择:
如果要完成从$ HOME,/ etc或其他包含许多文件的目录开始的文件名,可以尝试使用fuzzyfinder(由@michael提及)或我的zvim插件(整个插件是alpha ,但:ZEdit
和:ZView
命令足够稳定)。使用我的插件,你将获得类似zsh的完成,这不完全是你所要求的,但它很好。例如:
ZE ++e=u<Tab><Tab> ~/.v/d/z/p/v<Tab>
将扩展为(使用&wildmode="longest,list:full"
)
ZE ++enc=utf-8 ~/.vim/dev/zvim/plugin/z.vim
当然,它需要您知道z.vim
(或您想要找到的任何内容)的位置。
//要安装zvim,请安装vim-addon-manager和mercurial并将call scriptmanager#Activate(["zvim"])
行添加到您的vimrc。
如果要查找项目文件(当前目录下的文件),请尝试使用Command-T插件。它需要ruby支持和索引文件,因此它不能用于从主目录开始查找文件。
答案 4 :(得分:0)
我认为插件'command-t'可能就是你要找的东西: https://wincent.com/products/command-t http://www.vim.org/scripts/script.php?script_id=3025
此插件将t映射到一个函数,该函数打开一个带有已过滤文件列表的窗口。当您开始输入时,文件会实时过滤,您可以按Enter键选择最顶层的文件。