3

我严格使用 vim,但我在玩 emacs 并且在打开文件时非常喜欢 ido-mode。只需开始输入文件名的一部分,它就会缩小搜索范围,当您想要的文件位于列表的前面时,只需按 Enter。vim有类似的东西吗?我一直在寻找没有运气。

谢谢

4

5 回答 5

3

有一些不错的快速文件查找器插件,例如 blurfinder http://www.vim.org/scripts/script.php?script_id=1984,可以增强您的体验。(模糊查找器似乎做了模棱两可的选择)

此外,您可能想查看 wildmode 调整选项 ala :he wildmode

我在这里解释的方法不是模棱两可的技巧,但它是标签友好的。

如何使 vim 对文件名进行正常的(类似 bash 的)制表符补全?

于 2009-08-23T08:21:35.460 回答
1

vim 有文件名的制表符补全,但不幸的是,它显示了整个第一个匹配项,而不是像 bash 制表符补全那样在达到歧义时停止。

于 2009-08-22T21:52:06.833 回答
0

我认为插件 'command-t' 可能是您正在寻找的: https://wincent.com/products/command-t http://www.vim.org/scripts/script.php?script_id=3025

这个插件将 t 映射到一个函数,该函数打开一个带有过滤的文件列表的窗口。当您开始输入时,文件会被实时过滤,您可以按 Enter 键选择最上面的文件。

于 2011-04-04T11:30:04.417 回答
0

根据您要完成的任务,您有以下选项:

  1. 如果你想补全从 $HOME、/etc 或其他包含许多文件的目录开始的文件名,你可以试试fuzzyfinder(@michael 提到的)或我的zvim插件(整个插件是alpha,但:ZEdit命令:ZView足够稳定)。使用我的插件,您将获得类似于 zsh 的完成,这与您所要求的不完全一样,但它很好。例子:

    ZE ++e=u<Tab><Tab> ~/.v/d/z/p/v<Tab>
    

    将扩展为 (with &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。

  2. 如果要查找项目文件(当前目录下的文件),请尝试Command-T插件。它需要 ruby​​ 支持和索引文件,因此它不能用于从主目录开始查找文件。

于 2010-11-25T17:43:37.247 回答
0

我有同样的问题,解决方法是“:help wildmode”。我个人使用

set wildmenu
set wildmode=longest:full,full
于 2010-11-25T13:47:02.170 回答