【发布时间】:2016-10-26 06:10:10
【问题描述】:
我正在尝试在 bash 中使用 vi 模式。通过 .inputrc(在 OSX 上):
set editing-mode vi
在 vi 插入模式下,右箭头键将光标向右移动,但它停在该行的最后一个字符上。如果光标超过了行尾,它会将光标移到left。所以,总而言之,你能走的最右边就是行中的最后一个字符。
$ cd /usr/locl/bin
# Move the cursor to the middle of the line, and fix something there
$ cd /usr/local/bin
# Now move the cursor back to the end, and write a character (/)
$ cd /usr/local/bi/n
如上所示,这意味着您不能在不进入命令模式(并使用“a”)的情况下编辑行尾。
我发现一篇文章似乎指出了 readline/bash might be the problem 的版本。但是,我使用 brew 来升级 bash(GNU bash,版本 4.3.42),甚至按照该站点的建议尝试安装和链接 readline(6.3.8)。但没有运气。可能是升级不正确。
这意味着我正在寻找以下内容之一:
- OSX终端升级bash和readline的正确方法
- 一种检查 OSX 实际使用的 bash/readline 版本的方法
- 此错误的另一个修复(以某种方式在 inputrc 中传递了 virtualedit=onemore 选项)
- 表明最新版本的 readline 可能重新引入了错误和解决方案。
- 另外:如果editrc有类似的东西
注意:我希望 bash 中的 readline 行为与默认值几乎相同(对于定期使用我的终端的其他人),但允许我使用 vim 模式。这意味着我不需要解决方法,而是需要修复。
【问题讨论】:
-
Shell 脚本问题在这里完全是主题,但是 unix.stackexchange.com 或 superuser.com 上的 shell usage 问题更好
-
那我应该把它移过来吗?如果是这样怎么办? (我对 UI 有点陌生)
标签: bash macos vi readline arrow-keys