Terminal 如何将光标移动到VSCode';s终点站?

Terminal 如何将光标移动到VSCode';s终点站?,terminal,visual-studio-code,zsh,Terminal,Visual Studio Code,Zsh,我将终端设置为zsh,在iTerm2中,我可以按ctrl+e将光标移动到行尾,按ctrl+a将光标移动到行首。在VSCode中,这只是打印出一个文本^E^a。是否有允许终端响应emacs样式命令的设置?我没有zsh,但您可能会很幸运地使用这些命令或workbench.action.terminal.moveToLineStart和workbench.action.terminal.moveToLineEnd命令。可以在命令选项板的keyboard shortcuts或keybindings.js

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

我没有zsh,但您可能会很幸运地使用这些命令或
workbench.action.terminal.moveToLineStart
workbench.action.terminal.moveToLineEnd
命令。可以在命令选项板的keyboard shortcuts或keybindings.json中设置这两个选项-
ctrl+shift+p
然后搜索“键盘快捷键”

尝试使用
code
从iTerm2启动Visual Studio代码

那是在…上为我做的。。。cmd+left和cmd+right按预期工作

但很奇怪。。。在上打开了一个问题。

请尝试以下密钥绑定:

  {
    "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+e to terminal
    "when": "terminalFocus"
  },

在bash中工作,我不能在zsh中测试,但它应该可以工作。

正如上面的评论中提到的:

打开
~/.zshrc
,并将此行添加到末尾:

bindkey -e

我不清楚为什么这会在iTerm中自动适用于zsh,但必须手动设置为在VSCode中适用于zsh。

不幸的是,在使用zsh shell时,这似乎不起作用。您知道如何在linux中实现这一点吗?。就我而言,ubuntu Binonic 18.04。哇。。。我觉得自己很笨。我一直想知道如何让这个工作时间最长,因为下面的答案都不适合我。原来我只需要将
bindkey-e
添加到我的.zshrc中。