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

bybem2ql  于 2022-11-11  发布在  其他
关注(0)|答案(5)|浏览(244)

我写了很多shell脚本,我经常不得不输入文件路径。我想知道是否有人知道一种方法,让Vim在插入模式下自动完成文件路径,就像当你在你最喜欢的shell中时,你用Tab键完成目录或文件的路径。
如果您能将shell的CTRLD功能导入Vim插入模式(即查看当前路径中有哪些文件/目录),则可获得额外加分。

uqjltbpv

uqjltbpv1#

对于文件名omni补全,可以用途:
Ctrl-XCtrl-F组合键

c90pui9n

c90pui9n2#

这里有ctrl-xctrl-f
:he compl-filename

nr7wwzry

nr7wwzry3#

在@CMS和@michael的基础上构建出色的答案
当使用ctrl+Xctrl+f命令序列时,它会显示当前目录中的文件列表。我花了一分钟寻找正确的键在不同的文件名之间上下移动。正确的键是Ctrl-n和Ctrl-p。你可以使用几乎任何其他键(如空格键)来选择并继续键入。
此外,如果您尚未到达要插入的文件/目录,则可以按如下所示向下进入文件树结构:
1.选择性地输入目录的某个部分。例如,您甚至可以使用../../
1.按ctrl+Xctrl+f并从列表中选择树中的第一个项目。
1.然后,在正确的项目高亮显示时再次按ctrl+f,以显示目录树结构中下一级的列表。
您可以继续执行此操作,直到找到要插入到文档中的目录/文件。

nnsrf1az

nnsrf1az4#

我遇到过类似的问题。我找到了解决方案,如:

sudo apt-get install realpath

在VIM中,导航到正常模式下类型为:

:r !realpath /path/to/file

当您在!realpatch之后以非插入模式导航时,您可以使用我们的按键按钮。
瞧!TAB又工作了!

z3yyvxxp

z3yyvxxp5#

编辑:对不起,我降落在这里从谷歌的结果为“vim插入文件绝对路径”
(首先用Esc或Ctrl+C离开插入模式);)
从正常模式,在空白行上
!!readlink -f #
这将运行一个命令,并用当前文件名替换#readlink将解析规范名称,!!将在光标所在的位置写入输出
请注意,这需要在空白行上完成,因为该行的内容将作为stdin提供给子命令。

相关问题