如何在Vim中自动完成文件路径,就像在zsh中一样?

前端之家收集整理的这篇文章主要介绍了如何在Vim中自动完成文件路径,就像在zsh中一样?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在Zsh中,我可以使用带斜杠的文件名完成来定位源树中的文件.例如,如果我输入:
vim s/w/t/u/f >TAB<

zsh用以下代码替换模式:

vim src/wp-contents/themes/us/functions.PHP

我想要的是能够在Vim命令行中以相同的方式定位文件,以便键入

:vi s/w/t/u/f >TAB<

自动完成:

:vi src/wp-contents/themes/us/functions.PHP

我正在尝试解析Vim文档的wildmode,但我看不到什么设置会给我这个.它正在为单个文件名进行自动完成,但不是文件路径. Vim是否支持本机?或者如何自定义文件自动完成算法?

感谢任何建议!
-mykle-

我找不到一个插件来做,所以我写了一个.它被称为 vim-zsh-path-completion.它做你想要的,虽然通过< C-s>而不是< Tab>.您可以使用它< Tab>为了更好地控制什么比赛.

它有错误,但是对于没有空格/特殊字符的基本路径,它应该工作.我觉得在目前的状况下,这是有用的.我希望弄清楚错误并清理代码,但我想我会开始征求意见.

谢谢你的想法!

原始(错误)答案,但有一些关于Vim的野生模式的有用信息.

将以下内容放在您的.vimrc中:

set wildmenu
set wildmode=list:longest

这将完成到< Tab>上最长的唯一匹配,包括在适当的时候附加/下载到目录中.如果有多个匹配,它将显示您目前为止输入的匹配列表.然后,您可以输入更多的字符和< Tab>再次完成.

我更喜欢以下设置,它完成了< Tab>上的第一个唯一匹配,然后弹出一个菜单,如果你点击< Tab>再次,您可以使用箭头键导航,然后按Enter键选择:

set wildmode=list:longest,list:full

查看:help wildmenu和:help wildmode.您也可以将wildignore设置为在完成时忽略的模式列表.我有我的

set wildignore=.git,*.swp,*/tmp/*
原文链接:https://www.f2er.com/bash/386726.html

猜你在找的Bash相关文章