在Vim插入模式下,有没有办法添加文件路径自动完成?

ste*_*nmm 78 vim shell autocomplete text-editor

我写了很多shell脚本,而且我不断地进入文件路径.我想知道是否有人知道在插入模式下让Vim自动完成文件路径的方法,就像你在你最喜欢的shell中一样,你可以选择完成目录或文件的路径.

如果您可以CTRLD将shell的功能转换为Vim插入模式(即查看当前路径中的文件/目录),则可获得额外的功劳.

CMS*_*CMS 157

对于文件名 omn​​i completion,您可以使用:

Ctrl- XCtrl-F

  • 另一个vim aha时刻....谢谢.我无论如何都不在插入模式下使用tab,所以将它添加到我的.vimrc:imap <Tab> <CX> <CF> (11认同)
  • 插入模式下<tab>的另一个好用途是<cn>.这将根据您正在处理的文件中的其他字词自动填写您输入的单词.我在键入变量或类名时一直使用它. (4认同)

mic*_*ael 18

ctrl- x ctrl-f

:he compl-filename


Sna*_*hot 16

建立@CMS和@michael的优秀答案

使用ctrl+ X ctrl+ f命令序列时,它将显示当前目录中的文件列表.我花了一分钟寻找正确的键在不同的文件名之间上下移动.正确的键是Ctrl-n和Ctrl-p.您几乎可以使用任何其他键(如Space)来选择并继续键入.

此外,如果您尚未插入要插入的文件/目录,则可以按如下方式进入文件树结构:

  1. (可选)输入目录的某些部分.你甚至可以使用../../例如!
  2. ctrl+ X ctrl+ f并从列表中选择树中的第一项.
  3. 然后在突出显示正确的项目时再次按ctrl+ f,以显示目录树结构中下一级别的列表.

您可以继续这样做,直到找到要在文档中插入的目录/文件.

  • 在第3步你的意思是ctrl + x和ctrl + f?因为ctrl + f对我来说不起作用,所以它和ctrl + n一样.顺便说一下,如果目录中有空格,它在这里不起作用:/.你知道一个解决方法吗? (3认同)