繁体   English   中英

是否可以为:启用bash_completion:或者:r!在VIM?

[英]Is it possible to enable bash_completion for :! or :r ! in VIM?

我可以使用:shell输入当前目录并运行命令。 bash_completion工作正常。

但是如何让bash_completion工作 命令:r! 命令案例?

注意 我是Emacs用户和Emacs M-! 命令不允许这样的事情(也是Mx shell ,你需要Mx术语来获得bash_completion)。

这不可能。 @Prince Goulash所指的是由vim本身完成的简单文件名完成。 如果您知道如何在某处强制执行bash到管道完成变体,则可以为自定义命令创建一个完成函数,该函数可以依次调用内置函数:! ,但无法重新定义内置命令的完成。

我个人不知道如何用bash做到这一点,并且知道在zsh中尝试这样做会导致重新定义zsh内置命令(如compadd )的脏兮兮,使用pexpect(python),Expect(perl),expect(tcl) ),zsh / zpty或类似的东西在交互模式下运行shell并发明zsh-> vim IPC机制(相反方向它更简单)(我曾经开始为zsh开发类似的模块,但因为太多而停止了这方面的问题)。

你有吗?

set nocompatible

在你的.vimrc中? 这将自动启用ex模式完成:! 要查看可能的完成列表,您也可以使用

set wildmenu

并调查wildmode选项。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM