如何在 zshell 的 `emacs -nw` 中使用 `M-x`
How can I use `M-x` in `emacs -nw` in zshell
我是第一次使用emacs -nw
。但是我一开始输入 M-x
时遇到问题。在迷你缓冲区中,它显示 "Mark set" 而不是 M-x
我不知道为什么会这样。我该如何处理?
PS:我的 os 是 Macosx,我使用 ssh
连接远程,然后输入 emacs -nw
但我无法使用 M-x
更新:2015/08/30
当我看到M-x customize-group ns
下的选项时,似乎Alt
实际上被用作Meta?为什么它不起作用。
14隐藏 Ns 替代修饰符:[值菜单] meta |
15 [状态]:标准。 |
16 此变量描述备用键或选项键的行为。更多 |
37Hide Ns Right Alternate Modifier: [Value Menu] 使用 ns-alternate-modifier 的值 |
38 [状态]:标准。 |
39 此变量描述右备用键或选项键的行为。更多 |
在终端中使用 Emacs 时(开关 -nw
),您可能没有 Meta
键,具体取决于您的平台等。特别是 Alt 键盘键可能无法用作 Meta
键。您可能会找到一些信息(例如,在这里,或通过谷歌搜索)关于如何让它作为您的上下文(平台等)的 Meta
工作,但您可能不会。
您始终可以使用 ESC
(Escape 键)后跟一个键,其作用与应用于该键的 Meta
修饰符相同。例如,您可以使用 ESC x
而不是 M-x
。
(您按下并释放 ESC
,然后对 x
执行相同的操作。ESC
不是修饰键——您在按下 [= 时不要按住它19=].)
你的问题是 OSX 正在窃取密钥。有几件事可以让您的生活更轻松
- 使用自制软件安装 emacs。 OSX自带的版本是旧的
- 使用 iterm2 而不是默认值 term.app - 更好且功能丰富
- 在iterm2中,您可以将左选项或右选项的键覆盖设置为+ESC,这将使它全部起作用。
这一切都可以在本地计算机上运行,但是如果您连接到远程计算机并在那里 运行 运行 emacs,您可能 运行 会遇到其他问题。这是一个类似的问题,您的密钥设置可能无法通过 ssh 会话获得 stolen/dropped - 这一切都取决于您的终端、您的 ssh 配置和远程系统。
请注意,使用 emacs,您通常不需要 运行 远程。 Emacs 带有一个名为 Tramp 的内置系统,它非常强大。使用 tramp,您可以打开远程目录并像编辑本地文件一样编辑文件。您 运行 在本地使用 emacs,tramp 使用 ssh 打开远程文件,将内容读入本地 emacs 缓冲区,然后将更改写回远程文件。有助于设置 ssh 密钥,这样您就不必担心密码(但您需要一个 ssh-agent 才能轻松完成这项工作)。
一般来说,当您发现 emads 不响应按键时,特别是如果您尝试 C-h k 而当您按下键绑定时没有任何反应,您就无法开始工作,这几乎可以肯定是某些东西在- 在你和 emacs 之间窃取密钥 - 这通常是 window 管理器或 OS,但也可能是由于终端仿真器等造成的。在使用 emacs 的 20 多年里,我从来没有had emacs 'do nothing' 当你按下组合键时 - 如果 emacs 接收到键输入,它会响应一些东西,即使那东西是告诉你你按下的键没有键绑定。如果 emacs 什么都不做,您就知道消息没有通过!
我是第一次使用emacs -nw
。但是我一开始输入 M-x
时遇到问题。在迷你缓冲区中,它显示 "Mark set" 而不是 M-x
我不知道为什么会这样。我该如何处理?
PS:我的 os 是 Macosx,我使用 ssh
连接远程,然后输入 emacs -nw
但我无法使用 M-x
更新:2015/08/30
当我看到M-x customize-group ns
下的选项时,似乎Alt
实际上被用作Meta?为什么它不起作用。
14隐藏 Ns 替代修饰符:[值菜单] meta |
15 [状态]:标准。 |
16 此变量描述备用键或选项键的行为。更多 |
37Hide Ns Right Alternate Modifier: [Value Menu] 使用 ns-alternate-modifier 的值 |
38 [状态]:标准。 |
39 此变量描述右备用键或选项键的行为。更多 |
在终端中使用 Emacs 时(开关 -nw
),您可能没有 Meta
键,具体取决于您的平台等。特别是 Alt 键盘键可能无法用作 Meta
键。您可能会找到一些信息(例如,在这里,或通过谷歌搜索)关于如何让它作为您的上下文(平台等)的 Meta
工作,但您可能不会。
您始终可以使用 ESC
(Escape 键)后跟一个键,其作用与应用于该键的 Meta
修饰符相同。例如,您可以使用 ESC x
而不是 M-x
。
(您按下并释放 ESC
,然后对 x
执行相同的操作。ESC
不是修饰键——您在按下 [= 时不要按住它19=].)
你的问题是 OSX 正在窃取密钥。有几件事可以让您的生活更轻松
- 使用自制软件安装 emacs。 OSX自带的版本是旧的
- 使用 iterm2 而不是默认值 term.app - 更好且功能丰富
- 在iterm2中,您可以将左选项或右选项的键覆盖设置为+ESC,这将使它全部起作用。
这一切都可以在本地计算机上运行,但是如果您连接到远程计算机并在那里 运行 运行 emacs,您可能 运行 会遇到其他问题。这是一个类似的问题,您的密钥设置可能无法通过 ssh 会话获得 stolen/dropped - 这一切都取决于您的终端、您的 ssh 配置和远程系统。
请注意,使用 emacs,您通常不需要 运行 远程。 Emacs 带有一个名为 Tramp 的内置系统,它非常强大。使用 tramp,您可以打开远程目录并像编辑本地文件一样编辑文件。您 运行 在本地使用 emacs,tramp 使用 ssh 打开远程文件,将内容读入本地 emacs 缓冲区,然后将更改写回远程文件。有助于设置 ssh 密钥,这样您就不必担心密码(但您需要一个 ssh-agent 才能轻松完成这项工作)。
一般来说,当您发现 emads 不响应按键时,特别是如果您尝试 C-h k 而当您按下键绑定时没有任何反应,您就无法开始工作,这几乎可以肯定是某些东西在- 在你和 emacs 之间窃取密钥 - 这通常是 window 管理器或 OS,但也可能是由于终端仿真器等造成的。在使用 emacs 的 20 多年里,我从来没有had emacs 'do nothing' 当你按下组合键时 - 如果 emacs 接收到键输入,它会响应一些东西,即使那东西是告诉你你按下的键没有键绑定。如果 emacs 什么都不做,您就知道消息没有通过!