在 z shell 中向前移动一个单词

问题描述 投票:0回答:7

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

configuration keyboard-shortcuts zsh
7个回答
27
投票

如果您在 OSX 上使用 iTerm2,则可以使用首选项 -> 配置文件 -> 键下的自然文本编辑预设。

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

  • alt/option + left = 向左移动一个单词
  • alt/option + right = 右移一个单词

21
投票

用于向前移动一个单词的 ZLE 小部件是

forward-word
。因此,您可以使用
bindkey
将此小部件绑定到您想要的任何键。

例如,

$> bindkey ^O forward-word

Ctrl-O

 
可以让您向前移动一个词。请注意,
^O
实际上是 Control 的引用插入,后跟
O


17
投票

您的 zsh 命令提示符的工作方式类似于 emacs 或 vi。如果它像 vi 一样工作,请将其置于命令模式 (

esc
) 并输入
w
。如果它像 emacs 一样工作,请使用
M-f

更多信息请访问 man zshzle


11
投票

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

如果您在 iTerm 中使用 Zsh,例如 Oh My Zsh,则转到:首选项 > 配置文件 > 键子菜单

点击+符号

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

下方左侧和右侧的输入。

左:

[1;5D

右:

[1;5C

6
投票
  • 转发单词 [Meta]+[f]
  • 倒序词[Meta]+[b]

在 macOS 上,[选项]+[→] 和 [选项]+[←] 也可以工作。


1
投票

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

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

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

^+[
松开然后按
f
或按
esc
松开然后按
f

向后类似,

^+[
松开然后按
b
或按
esc
松开然后按
b


0
投票

对我来说,什么都不起作用,直到我发现拥有

$EDITOR=vim
会让你的 zsh 自动以 vi 模式启动,这取代了这些按键绑定。我的解决方案是更改我的
$EDITOR
变量。

参见:https://unix.stackexchange.com/questions/197839/why-does-exporting-vim-as-editor-in-zsh-disable-keyboard-shortcuts

© www.soinside.com 2019 - 2024. All rights reserved.