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