【问题标题】:Forwarding keystroke to shell in Shell mode在 Shell 模式下将击键转发到 shell
【发布时间】:2012-01-25 13:14:08
【问题描述】:

在使用 Shell 模式时,有什么方法可以将击键转发到 shell? 特别是我有时想用 CTRL+\ sigkill 一个进程,但是 Emacs 拦截了它

另一个问题是我有时希望 Tab 被转发到 shell 以获得默认的 tab 完成。

【问题讨论】:

    标签: emacs


    【解决方案1】:

    一般来说,M-x term,甚至更好的M-x ansi-term,提供比M-x shell更完整的模拟器。一旦您进入术语模式,您就可以使用C-c C-j 进入 char 模式 以与终端交互。进入 char 模式后,您应该能够使用终端的制表符完成和其他终端键盘快捷键。您可以使用C-c C-k 回到常规的默认线路模式

    您可以阅读更多关于这些模式之间的区别here

    【讨论】:

    • 这不能回答问题。例如,我运行 M-x multi-term 然后在终端缓冲区中,不小心启动了另一个 emacs 实例。我仍然需要一种方法来转发击键,特别是领导者,例如 C-x C-s 来保存我的工作,C-x C-c 来退出嵌套的 emacs 而不会退出我原来的 emacs。
    【解决方案2】:

    您可以在任何其他键之前按 Control-Q 以按字面意思处理该键。所以, C-q C-\ 或 C-q TAB 应该做你想做的。

    【讨论】:

    • 不起作用。在多术语终端缓冲区中意外启动了另一个emacs。当我按C-q C-x C-s 时,原来的emacs 仍然会拦截它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-07
    • 1970-01-01
    相关资源
    最近更新 更多