如何在zshell中的`emacs -nw`中使用`M-x`

时间:2015-08-30 03:04:42

标签: macos emacs zsh

这是我第一次使用emacs -nw。但是当我输入M-x时,我首先遇到问题。在迷你缓冲器中,它显示" Mark set"而不是M-x 我不知道为什么会这样。我该如何处理?

PS:我的操作系统是Macosx,我使用ssh连接远程,然后输入emacs -nw,但我无法使用M-x

更新:2015年8月30日

当我看到M-x customize-group ns下的选项时,似乎Alt实际上被用作Meta?为什么它不起作用。

14Hide Ns Alternate Modifier:[Value Menu] meta |
15 [国家]:标准。 |
16此变量描述备用或选项密钥的行为。更多|

37Hide Ns Right Alternate Modifier:[Value Menu]使用ns-alternate-modifier的值|
38 [国家]:标准。 |
39此变量描述了右侧备选或选项键的行为。更多|

2 个答案:

答案 0 :(得分:2)

在终端中使用Emacs(切换-nw)时,您可能没有Meta键,具体取决于您的平台等。特别是 Alt 键盘键可能无法用作Meta密钥。您可能会找到一些信息(例如,在这里,或通过Google搜索),了解如何使其作为Meta用于您的上下文(平台等),但您可能不会。

您始终可以使用ESC Escape 键)后跟一个键,其行为与应用于该键的Meta修饰符相同。例如,您可以使用M-x代替ESC x

(您按下并释放ESC,然后对x执行相同的操作。ESC不是修改键 - 您在按{{1}时不按住它}。)

答案 1 :(得分:0)

你的问题是OSX窃取了密钥。有一些事情可以让你的生活更轻松

  1. 使用自制软件安装emacs。 OSX附带的版本是旧的
  2. 使用iterm2而不是默认的term.app - 更好,功能更丰富
  3. 在iterm2中,您可以将左侧或右侧选项的键覆盖设置为+ ESC,这将使其全部工作。
  4. 这将在本地计算机上运行,​​但如果您连接到远程计算机并在那里运行emacs,则可能会遇到其他问题。这是一个类似的问题,您的密钥设置可能不会被ssh会话窃取/丢失 - 所有这些都取决于您的终端,您的ssh配置和远程系统。

    请注意,使用emacs,您通常不需要运行远程。 Emacs带有一个名为Tramp的内置系统,功能非常强大。使用tramp,您可以打开远程目录并编辑文件,就像它们是本地文件一样。您在本地运行emacs,tramp使用ssh打开远程文件,将内容读入本地emacs缓冲区,然后将更改写回远程文件。有助于设置ssh密钥,因此您不必担心密码(但您需要一个ssh-agent才能轻松完成此工作)。

    一般情况下,当您发现电子邮件没有响应按键时,特别是如果您尝试Ch k并且当您点击键绑定时没有任何反应您无法开始工作,几乎可以肯定你和emacs之间正在窃取密钥 - 这通常是窗口管理器或操作系统,但它也可能是由于终端模拟器等。在使用emacs的20多年中,我从来没有使用emacs'什么都不做'当你点击一个组合键时 - 如果emacs收到了键输入,它会响应一些东西,即使有什么东西要告诉你没有按键绑定你按下的键。如果emacs完全没有做任何事情,你就知道这条消息并没有通过!