在zshell中如何前进word,我可以设置-o vi并使用vi格式。有没有办法在zshell中前进一个字
用于向前移动一个单词的 ZLE 小部件是
forward-word
。因此,您可以使用 bindkey
将此小部件绑定到您想要的任何键。
例如,
$> bindkey ^O forward-word
按 Ctrl-O
可以让您向前移动一个词。请注意,
^O
实际上是 Control 的引用插入,后跟 O
。
您的 zsh 命令提示符的工作方式类似于 emacs 或 vi。如果它像 vi 一样工作,请将其置于命令模式 (
esc
) 并输入 w
。如果它像 emacs 一样工作,请使用 M-f
。
更多信息请访问 man zshzle。
与其他答案类似,但对于 iTerm 上的 Zsh,我花了一段时间才找到这个:
如果您在 iTerm 中使用 Zsh,例如 Oh My Zsh,则转到:首选项 > 配置文件 > 键子菜单
点击+符号
添加快捷方式组合,选择“发送转义序列”
下方左侧和右侧的输入。
左:
[1;5D
右:
[1;5C
在 macOS 上,[选项]+[→] 和 [选项]+[←] 也可以工作。
在我的 zsh 终端中,它已经使用 bindkey 设置为以下内容
"^[f" forward-word
"^[b" backward-word
我不知道如何使用这个,在苹果论坛上阅读,这基本上是
^+[
松开然后按f
或按esc
松开然后按f
向后类似,
^+[
松开然后按b
或按esc
松开然后按b
对我来说,什么都不起作用,直到我发现拥有
$EDITOR=vim
会让你的 zsh 自动以 vi 模式启动,这取代了这些按键绑定。我的解决方案是更改我的 $EDITOR
变量。