【发布时间】:2021-02-22 04:43:34
【问题描述】:
TLDR。如何将 vim 路径/文件名搜索算法从循环自动完成更改为增量自动完成。 (例如在 ubuntu 终端中自动完成文件路径时)。
当在 vim 中打开一个新文件进行编辑时,例如使用:vsp 或:tabe 按下tab 键来预测目标文件的路径/文件的下一部分时使用的算法,有不便我想改变的行为。
例如,我有一个包含三个文件的目录:
/one.txt
/onetwo.txt
/onetwothree.txt
当尝试从在同一目录中打开的 vim 实例打开 onetwothree.txt 时,我会输入 :tabe o 然后按 tab 键,vim 将自动完成文件名/路径到 :tabe one.txt。然后我必须再次按tab 将自动完成更改为:tabe onetwo.txt,然后再按一次:tabe onetwothree.txt,然后再按enter 打开文件。 (算法 1)tab 算法具有逐个循环遍历完整路径/文件名的行为。
在 ubuntu 终端中,搜索行为要好得多,并且输入 :tabe o 并按下 tab 只会部分自动完成以提供 :tabe one。然后再次输入t 和tab 将自动完成从:tabe onet 到:tabe onetwo 然后再次按t 和tab 将自动完成从:tabe onetwot 到:tabe onetwothree.txt。 (算法 2)tab 算法具有部分完成路径/文件名的行为。
使用第一种算法,在处理大量文件时,按tab 逐个循环浏览完整路径/文件名的行为可能会很不方便。在 ubuntu 终端 tab 使用的第二种算法中,自动完成具有部分完成路径/文件名的行为,并允许快速准确地完成路径。
我意识到,在这个简单的示例中,使用第二种算法需要多按两次按键,但在具有许多文件循环遍历每个选项的非平凡示例中是痛苦的。
如何更改文件路径搜索算法? .vimrc 中是否有指定它的设置?
【问题讨论】:
标签: vim autocomplete filepath