在插入模式下遍历vim文件名完成的目录(Ctrl-X Ctrl-F)

时间:2012-11-10 23:54:16

标签: vim autocomplete keyboard-shortcuts

我正在尝试使用vim的compl-filename功能( Ctrl-X Ctrl-F )来完成INSERT模式下的路径,但是我不知道如何在没有(暂时)结束完成模式的情况下遍历目录:

假设我想完成路径/etc/sysconfig/network-scripts/ifup

我希望能够做到这样的事情:

/eCtrl-XCtrl-F
/etc/
/etc/sysCtrl-F
/etc/sysconfig/
/etc/sysconfig/netCtrl-F
/etc/sysconfig/netconsoleCtrl-N
/etc/sysconfig/networkCtrl-N
/etc/sysconfig/network-scripts/
/etc/sysconfig/network-scripts/ifupCtrl-Y
/etc/sysconfig/network-scripts/ifup

问题是,一旦我在路径匹配后开始输入*(如/etc/),它就会结束文件名完成。我希望它保持文件名完成,这样我仍然可以使用 Ctrl-F Ctrl-N 等等。由于它结束完成,我必须输入 Ctrl-X Ctrl-F 再次重新启动它,同时有用的完成弹出菜单消失。

我可以设置一个选项来改变它吗?

* 通过'输入'这里,我指的是'isfname'中的字符 - 当然,输入其他字符(如空格或标点符号)不应该继续文件名完成。< / p>

3 个答案:

答案 0 :(得分:5)

我不确定你在说什么,但你可以在你进入的目录上再次按 Ctrl-X Ctrl-F 完成菜单以扩展它。您不必先关闭菜单。我按住 Ctrl 按住xf来遍历目录,np上下移动w返回起来。

如果您不使用:h i_CTRL-F,则可以重新映射它。例如,

inoremap <C-f> <C-x><C-f>

答案 1 :(得分:0)

Vim没有自动 - 完成。

为此,您需要一个专用的插件,例如AutoComplPopNeoComplCache

答案 2 :(得分:0)

请使用insert&#34; i&#34;首先使用cntr + x + f。我情况类似。 :)