23

在zshell如何前进word,我可以设置-o vi并使用vi格式。有没有办法通过一句话在zshell中前进

4

6 回答 6

22

如果您在 OSX 上使用 iTerm2,则可以使用Preferences -> Profile -> Keys下的自然文本编辑预设。

iTerm 密钥首选项

这支持这些组合键(与其他编辑器非常相似):

  • alt/option + left = 左移一个字
  • alt/option + right = 向右移动一个单词
于 2017-10-12T21:49:34.253 回答
15

您的 zsh 命令提示符可以像 emacs 或 vi 一样工作。如果它像 vi 一样工作,请将其置于命令模式 ( esc) 并键入w. 如果它像 emacs 一样工作,请使用M-f.

更多信息可在man zshzle 获得

于 2010-02-06T05:45:24.043 回答
15

前进一个字的 ZLE 小部件是forward-word. 因此,您可以使用bindkey将此小部件绑定到您想要的任何键。

例如,

$> bindkey ^O forward-word

可以让你在按下时向前移动一个单词Ctrl-O。请注意,这^O实际上是引用的 Control 插入,后跟O.

于 2010-02-06T06:37:35.300 回答
9

与其他答案类似,但对于 iTerm 上的 Zsh,我花了一段时间才找到这个:

如果您在 iTerm 中使用 Zsh,例如 Oh My Zsh,请转到:Preferences > Profiles > Keys 子菜单

点击+签名

添加您的快捷方式组合,选择“发送转义序列”

输入为左下方和右下方。

剩下:

[1;5D

对:

[1;5C
于 2016-12-08T01:05:56.803 回答
6
  • 转发词[元]+[f]
  • 后向词[元]+[b]

在 macOS 上,[option]+[→] 和 [option]+[←] 也可以。

于 2017-07-05T13:43:26.230 回答
0

在我的 zsh 终端中,它已经使用 bindkey 设置为以下

"^[f" forward-word 
"^[b" backward-word

我不知道如何使用这个,在苹果论坛上阅读,这基本上是

^+[释放它然后按下f或按下esc释放它然后按下f

同样对于向后,

^+[释放它然后按下b或按下esc释放它然后按下b

于 2022-01-13T22:20:55.057 回答