我可以使用:
shell输入当前目录并运行命令. bash_completion工作正常.
但是如何让bash_completion工作:命令或:r!命令案例?
注意.我是Emacs用户和Emacs M-!命令不允许这样的事情(也是M-x shell,你需要M-x术语来获得bash_completion).
解决方法
这不可能. @Prince Goulash所指的是由vim本身完成的简单文件名完成.如果您知道如何在某处强制执行bash到管道完成变体,则可以为自定义命令创建一个完成函数,该函数可以依次调用内置函数:!,但是无法重新定义内置命令的完成.
我个人不知道如何用bash做到这一点,并且知道在zsh中尝试这样做会导致重新定义zsh内置命令(如compadd)的脏兮兮,使用pexpect(python),Expect(perl),expect(tcl) ),zsh / zpty或类似的东西在交互模式下运行shell并发明zsh-> vim IPC机制(相反方向它更简单)(我曾经开始为zsh开发一个类似的模块,但是也停止了这方面有很多问题).
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。