在GNOME终端中,Bash执行智能自动完成功能.例如
apt-get in<TAB>
Run Code Online (Sandbox Code Playgroud)
变
apt-get install
Run Code Online (Sandbox Code Playgroud)
在Emacs shell模式下,即使在我明确提供源代码后,此自动完成也不起作用/etc/bash_completion.上面的示例in在当前目录中使用文件名而不是有效的apt-get命令选项粘贴或自动完成.据推测,这是因为Emacs正在拦截Tab键按下.如何启用智能自动完成功能shell-mode?
在我的shell环境中,我有别名和自定义函数.当我在emacs的实例(我总是使用emacs -nw)并执行shell命令(Mx!)时,我无法使用它们.这是有道理的,因为我想它启动它自己的子shell来做这些..但有没有办法(也许在我的.emacs中)让这个工作?也许即使它在执行任何shell命令之前默认采购环境?