【问题标题】:Forward / backward words in the VSCode terminalVSCode 终端中的前向/后向词
【发布时间】:2020-02-16 23:18:44
【问题描述】:

commandID 控制在 VSCode 终端中向前向后一个单词? (比如运行 Zsh)

背景

我知道这些命令分别绑定了Option + RightOption + Left,因为我可以在终端中尝试,并且 cursort 相应地向前和向后移动一个单词。

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

  • cursorWordStart(左或右)
  • cusorWordAccessibility(左或右)

但是我发现这里有些奇怪。如果我将两个命令分别绑定到 Command+FCommand + B(使用 no when 子句),我 能够使用这些键绑定来前进/在终端中向后退一个单词

【问题讨论】:

    标签: visual-studio-code zsh


    【解决方案1】:

    我不是这方面的专家,但我认为 + / 键绑定正在由您的 shell 处理 – vscode 与此无关。所以你不会在终端中找到 vscode 用来向前或向后跳过的命令。

    但是您可以通过sending the control codes to the shell 自己实现一个。为此,请修改您的键绑定设置 (keybindings.json)。您可以使用命令面板打开它(可通过 + + P 访问),搜索“Open Keyboard Shortcuts (JSON )”。然后添加如下:

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

    根据您的操作系统将cmd 换成ctrl。您没有指定您使用的是什么 shell,但它可以在 Windows 上的 Git Bash 和 CMD.exe 上运行——我可以在这里进行测试。

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

    5DCtrl + 相同。 5CtrlD 是光标返回。您可以在section “PC-Style Function Keys” of the ctlseqs documentation 中找到更多绑定。我相信; 是必要的,以表明以下是控制字符,在这种情况下5 表示 Ctrl,而不是数字 5。

    【讨论】:

    • 太好了,我在答案中添加了几个文档链接。我使用sendSequence 命令快速将我的终端目录更改为当前文件的目录,并从任何地方重新运行最后一个shell 命令。
    • 我不这么认为——它只需要text 参数,因此只能针对活动终端。另外,这个特殊的键绑定有一个terminalFocus when 子句,因为ctrl+B/F 在编辑器中有其他用途。但即使是我的 changeTerminalDirectory 也只针对多个打开的“活动”终端。
    • 您可以创建一个宏来创建一个新的终端,将其聚焦,然后如果您对此过程感兴趣,可以将序列发送到该终端。
    • 我指的是一些宏扩展意义上的宏,它允许链接多命令等命令。
    • 很好 - 谢谢!您是如何确定\u001b[1;5D完全正确的字符串? (我在您发送的链接中搜索了 forwardbackward 词,但运气不佳。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2013-09-11
    • 2011-03-07
    • 1970-01-01
    • 2013-03-02
    相关资源
    最近更新 更多