是否可以在 iterm2 中使用 vim 键绑定?

是否可以在 iterm2 中使用 vim 键绑定?

我想使用w来输入下一个单词和b来输入上一个单词。如果我能做更多的话我会更开心。

如果有必要的话我会使用 bash。

答案1

我很惊讶你还没发现

set -o vi

这使得vi 编辑模式在 Bash 中(为了使其永久生效,请将命令放入您的~/.bashrc文件中)。格雷格的维基有一个简短的摘要,并且这是有关其优势的 Unix & Linux 问题

此设置适用于 Bash shell,与终端无关(其目的是提供一个用于键入和查看文本的容器(以及用鼠标选择和粘贴) - 除了选项卡式窗口和一些全局窗口管理之外,它不应该干扰其中正在运行的内容)。

为了使更多使用终端的应用程序能够使用readline 库作为输入,你可以将其放入~/.inputrc

# Do what "set -o vi" does in Bash to whatever uses readline.
set editing-mode vi

答案2

我很惊讶这里会提到它,所以为了完整性,我会提到它。另外,对于shell中,vi键绑定的设置方式与狂欢

在 zsh vi 中键绑定设置如下:

bindkey -v

如果你想了解一些简单的介绍,你可以阅读这里。之后,官方文档看起来应该没那么吓人。

答案3

为了使用的用户vim(不是):

除了添加键绑定,你应该避免- 相关的退格问题(退格停止工作),通过将以下两个语句放入您的~/.zshrc

# use vi key bindings
bindkey -v
# avoid the annoying backspace/delete issue 
# where backspace stops deleting characters
bindkey -v '^?' backward-delete-char

退格问题已讨论这里更详细地。

答案4

我发现的最佳选择

在谷歌搜索了几个小时后,我偶然发现了一个很棒的 zhs-shell 插件,叫做 https://github.com/jeffreytse/zsh-vi-mode

它有很多很酷的功能,比如删除括号、引号之间的内容等。这些功能在vim-mode随附的原始插件中不可用oh-my-zsh(当然无需调整和配置)。只需将其添加到您的 zsh-shell 脚本插件管理器中即可.zshrc。我希望这对任何希望在 iTerm 或任何其他终端应用程序中使用 vim 命令的人都有用。对两者进行了测试,Alacrity顺便iTerm2说一下。

相关内容