【问题标题】:How do I move the cursor to the beginning of the line in VSCode's terminal?如何将光标移动到 VSCode 终端中的行首?
【发布时间】:2018-08-05 10:29:13
【问题描述】:

我将终端设置为 zsh,在 iTerm2 中,我可以按 ctrl+e 将光标移至行尾,按 ctrl+a 移至行首。在 VSCode 中,这只是打印出文字 ^E^A。是否需要允许终端响应 emacs 样式命令的设置?

【问题讨论】:

  • 哇...我觉得自己很笨。我一直想知道如何让它工作最长时间,因为以下答案都不适合我。原来我只需要将bindkey -e 添加到我的.zshrc。

标签: terminal visual-studio-code zsh


【解决方案1】:

正如上面评论中提到的:

打开~/.zshrc,将这一行添加到末尾:

bindkey -e

我不清楚为什么这对 iTerm 中的 zsh 自动起作用,但必须手动设置为与 VSCode 中的 zsh 一起使用。

【讨论】:

    【解决方案2】:

    尝试使用 code 从 iTerm2 启动 Visual Studio Code。

    这为我做了... cmd+leftcmd+right 按预期工作.

    虽然很奇怪...在GitHub 上打开了一个问题。

    【讨论】:

    • 你知道如何用 linux 做到这一点吗?就我而言,ubuntu Binonic 18.04.
    【解决方案3】:

    试试这些键绑定:

      {
        "key": "ctrl+e",
        "command": "workbench.action.terminal.sendSequence",
        "args": { "text": "\u0005" },   // move cursor to end of line, sends ctrl+e to terminal
        "when": "terminalFocus"
      },
      
      {
        "key": "ctrl+a",
        "command": "workbench.action.terminal.sendSequence",
        "args": { "text": "\u0001" },   // move cursor to start of line, sends ctrl+a to terminal
        "when": "terminalFocus"
      },
    

    在 bash 中工作,我无法在 zsh 中进行测试,但它应该可以工作。

    【讨论】:

      【解决方案4】:

      我没有 zsh,但您可能会遇到cursorHome and cursorEnd 命令或workbench.action.terminal.moveToLineStartworkbench.action.terminal.moveToLineEnd 命令。两者都可以在命令面板中的键盘快捷键或 keybindings.json 中设置 - ctrl+shift+p 然后搜索“键盘快捷键”

      【讨论】:

      • 不幸的是,这在使用 zsh shell 时似乎不起作用。
      【解决方案5】:

      转到查看命令面板,然后搜索并选择首选项:打开键盘快捷键

      现在搜索cursorLineStart 并为其提供快捷键,即Ctrl + DownArrow。同样,您可以使用cursorLineEnd 将插入符号移到行尾。

      【讨论】:

        【解决方案6】:
        对于 Emacs 模式用户

        @Adrian Macneil 的回答有效。

        –e 将所有键绑定到标准 GNU Emacs 类绑定。

        bindkey built-in command for tcsh: List all bound keys | IBM

        vi 模式用户

        将以下 2 行设置为您的 ~/.zshrc

        bindkey "^a" vi-beginning-of-line
        bindkey "^e" vi-end-of-line
        

        确保bindkey 行放置在 zle 命令之后。


        抱歉,我没有足够的声誉在他的帖子下添加评论。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-12-05
          • 2019-11-21
          • 2014-08-28
          • 1970-01-01
          • 2010-11-06
          • 2013-01-07
          • 1970-01-01
          相关资源
          最近更新 更多