有没有办法在Emacs“Shell-mode”中使TAB键传递到shell?我在Emacs中的Shell内启动交互式控制台,通常会响应TAB并打印候选列表。
我尝试了M-x local-set-key RET C-z self-insert-command,但那只是将TAB插入 Shell 缓冲区。
我尝试了M-x local-set-key RET C-z self-insert-command,但那只是将TAB插入 Shell 缓冲区。
Shell模式可以帮助您在emacs中构建命令,并在按下Enter键时将它们发送到某个进程。在旧的shell(如Bourne shell)和其他不允许行编辑的交互式命令中非常有用。
另一方面,所有按键都由emacs处理,因此您运行的命令一次只能看到整行。如果您想立即发送制表符而不是在按下Enter键时发送,我认为shell-mode无法实现。
您尝试过M-xansi-term
吗?
所以问题是你想要使用制表符自动完成,但是没有得到它?
当你处于shell模式时,C-hkTAB 告诉你什么?
默认情况下,它应该绑定到 comint-dynamic-complete
,这应该提供制表符自动完成,但是可能有些东西正在破坏该绑定。
你也可以运行 emacs -Q
,看看没有加载任何自定义或站点配置文件会发生什么。