Vim文件路径搜索算法
TLDR。如何将vim路径/文件名搜索算法从循环自动完成更改为增量自动完成。(就像在ubuntu终端中自动完成文件路径一样) 在vim中打开一个新文件进行编辑时,例如使用Vim文件路径搜索算法,vim,autocomplete,filepath,Vim,Autocomplete,Filepath,TLDR。如何将vim路径/文件名搜索算法从循环自动完成更改为增量自动完成。(就像在ubuntu终端中自动完成文件路径一样) 在vim中打开一个新文件进行编辑时,例如使用:vsp或:tabe按下tab键预测目标文件路径/文件的下一部分时使用的算法有我想更改的不方便的行为 例如,我有一个包含三个文件的目录: /one.txt /onetwo.txt /onetwothree.txt 当试图从同一目录中打开的vim实例中打开onetwotree.txt时,我会键入:tabe o,然后按选项卡键,v
:vsp
或:tabe
按下tab
键预测目标文件路径/文件的下一部分时使用的算法有我想更改的不方便的行为
例如,我有一个包含三个文件的目录:
/one.txt
/onetwo.txt
/onetwothree.txt
当试图从同一目录中打开的vim实例中打开onetwotree.txt
时,我会键入:tabe o
,然后按选项卡
键,vim将自动完成文件名/路径,到:tabe one.txt
。然后我必须再次按tab
将自动完成更改为:tabe onetwo.txt
,然后再次按第三次以获取:tabe onetwoo.txt
,然后再按enter
打开文件。(算法1)选项卡
算法具有逐个循环遍历完整路径/文件名的行为
在ubuntu终端中,搜索行为要好得多,输入:tabe o
按选项卡
只会部分自动完成,给你:tabe one
。然后再次键入t
和tab
将自动完成从:tabe onet
到:tabe onetwo
,然后再次按t
和tab
将自动完成从:tabe onetwot
到:tabe onetwotree.txt
。(算法2)选项卡
算法具有部分完成路径/文件名的行为
对于第一种算法,在处理大量文件时,按选项卡
逐个循环浏览完整路径/文件名的行为可能会带来不便。在ubuntu终端选项卡所使用的第二种算法中,autocomplete具有部分完成路径/文件名的行为,允许用户快速准确地完成路径
我意识到在这个简单的例子中,第二个算法需要再按两次键,但在非简单的例子中,许多文件在每个选项中循环是痛苦的
如何更改文件路径搜索算法?.vimrc
中是否有指定它的设置?来自:h cmdline completion
如果您喜欢tcsh的自动列表完成,可以使用以下映射:
:cnoremap X(其中X是要使用的命令键,是
CTRL-L和是CTRL-D)这将找到最长的匹配,然后
列出所有匹配的文件
如果您喜欢tcsh的自动列表完成,可以使用“wildmode”
选项来模拟它。例如,这将模拟自动列表=不明确:
:set wildmode=longest,此列表将查找与
首先是“wildchar”,然后列出所有与下一个匹配的文件
因此,要么在命令模式下映射
,要么将wildmode
调整为最长列表
,您需要启用:帮助“wildmenu”
:
set wildmenu
并使用:help'wildmode'
调整其行为:
" just an example
set wildmode=longest,list
您可能没有看到它,但我引用的vim帮助文章中已经说明了这一点。我现在提取了两个相关的解决方案。谢谢,这正是我想要的。我已将此添加到我的.vimrc