我正在尝试使用vim的
假设我想完成路径
我希望能够做类似以下的事情: /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 问题是,在路径匹配后开始键入字符(例如
是否有选项可以更改这个问题?
* 在这里“键入”指的是
compl-filename
功能(Ctrl-XCtrl-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-XCtrl-F以重新启动它,并且在此期间有用的完成弹出菜单会消失。是否有选项可以更改这个问题?
* 在这里“键入”指的是
'isfname'
中的字符--当然,键入其他字符(例如空格或标点符号)不应继续文件名完成。
^XFP
。 如果你开始输入/et
,然后按下^XF
。 然后可以键入X^XF
(例如)以进入/etc/X11/
。在菜单中输入时,无需使用^P
。我可能有偏见,但我确实可以想象一种更好的方法来完成它。如果您希望其行为类似于bash完成,可以将其映射为inoremap <Tab> <C-x><C-f>
。 - Conner<Space>
来结束它。希望你能找到适合你的东西。 - Conner