VS Code 终端不会将选项键映射到 Meta

问题描述 投票:0回答:2

我正在尝试在 VS Code 的终端中启用选项/alt 键作为 Meta。我在我的

"terminal.integrated.macOptionIsMeta": true
中设置了
settings.json
,但它不起作用。

我对系统终端应用程序和 iTerm2 进行了同样的更改。

iTerm 是唯一有效的。在 iTerm 中,选项键映射到 Meta,但不在 VS Code 终端或终端中。

有谁知道为什么会这样或如何纠正它?

OS X 10.15.7
VS Code Version: 1.63.2
iTerm2 Build 3.4.12
Terminal Version 2.10 (433)

VS 代码

iTerm2

终端

terminal keyboard visual-studio-code iterm2
2个回答
2
投票

这似乎是 OS X 如何处理 tmux-键盘集成的问题,而不是 VS Code 的问题。

Option/Alt 和 Esc/Meta 之间的关系不好。即使您的终端模拟器中启用了此功能。因此,当将 Meta+ 绑定到

.tmux.conf
中的操作时,结果行为并不符合预期。

bind -n M-j select-pane -L
bind -n M-k ​select-pane -R

Alt+j
Alt+k
按预期工作。

但是,绑定Meta+[方向键]时:

bind -n M-Left select-pane -L
bind -n M-Right select-pane -R

Alt+Left
Alt+Right
不起作用,您需要使用
Esc+Left
Esc+Right


0
投票

settings

在 iTerm2 中,我通过点击

COMMAND
+
,
并更新
Keys
>
Remap Modifiers
来更改元键行为。

这允许正常的终端导航(例如

OPT
+
b
返回一个单词),而不是打印奇怪的字符。

在 VSCode 中,

COMMAND
+
,
也会打开首选项,您可以在其中搜索“元”并找到与类似行为相关的一些设置。

我还没有找到修改实际代码编辑器的方法,但我注意到我可以在内置终端中启用相同的行为(例如,

OPT
+
d
删除单词)。 VSCode 的终端可以通过
SHIFT
+
CTRL
+
~
打开。

© www.soinside.com 2019 - 2024. All rights reserved.