VSCode 终端中的前进/后退字

Ame*_*ina 2 zsh visual-studio-code

在 VSCode 终端中向前向后移动一个单词commandID是由什么控制的?(比如运行 Zsh)

背景

我知道这些命令是绑定Option + Right的,Option + Left因为我可以在终端中尝试,并且光标相应地向前和向后移动一个单词。

当我在“键盘快捷键”菜单中搜索这些键绑定时,我发现与它们相关的以下 commandID:

  • cursorWordStart(左还是右)
  • cusorWordAccessibility(左还是右)

然而我在这里观察到一些奇怪的事情。如果我将两个命令分别绑定到Command+F和(没有子句),我将无法使用这些键绑定在终端中向前/向后移动单词Command + B when

Mar*_*ark 5

我不是这方面的专家,但我假设\xe2\x8c\xa5+ \xe2\x86\x90/\xe2\x86\x92键绑定是由你的 shell \xe2\x80\x93 vscode 处理的,与此无关。所以你不会\xe2\x80\x99找到vscode用来在终端中向前或向后跳跃的命令。

\n

但是您可以通过将控制代码发送到 shell 来自己实现一个。为此,请修改您的键绑定设置 (keybindings.json)。您可以使用命令面板(可通过\xe2\x8c\x98+ \xe2\x87\xa7 +访问P)打开它,搜索 \xe2\x80\x9cOpen 键盘快捷键(JSON) \xe2\x80\x9d。然后添加如下内容:

\n
{\n  "key": "ctrl+b",          // whatever keybinding you wish\n  "command": "workbench.action.terminal.sendSequence",\n  "args": {\n      "text": "\\u001b[;5D"\n  },\n  "when": "terminalFocus && !terminalTextSelected"\n},\n{\n  "key": "ctrl+f",\n  "command": "workbench.action.terminal.sendSequence",\n  "args": {\n      "text": "\\u001b[;5C"\n  },\n  "when": "terminalFocus && !terminalTextSelected"\n},\n
Run Code Online (Sandbox Code Playgroud)\n

cmd根据ctrl您的操作系统进行交换。您没有指定\xe2\x80\x99t 指定您\xe2\x80\x99 使用的 shell,但它可以在 Windows \xe2\x80\x93 上的 Git Bash 和 CMD.exe 上运行,我可以在这里进行测试。

\n

\\u001b[是控制序列引入符,因此接下来的内容被解释为控制序列而不是文字字符。

\n

与+5D相同。是。​ 光标返回。您可以在文档的 \xe2\x80\x9cPC-Style Function Keys\xe2\x80\x9d 部分找到更多绑定。我相信有必要表明以下是控制字符,在本例中为,而不是数字 5。Ctrl\xe2\x86\x905CtrlDctlseqs;5Ctrl

\n