gpt4 book ai didi

bash - 修复 bash vi 输入模式中的 。不能输入超过最后一个字符

转载 作者:行者123 更新时间:2023-11-29 09:06:03 25 4
gpt4 key购买 nike

我正在尝试在 bash 中使用 vi 模式。通过 .inputrc(在 OSX 上):

set editing-mode vi

在 vi 插入模式下,右箭头键将光标向右移动,但停在行中的最后一个字符处。如果光标越过行尾,它会将光标移动到左边。因此,总而言之,您可以走到的最右边是行中的最后一个字符。

$ 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 模式。这意味着我不需要解决方法,而是修复。

最佳答案

在这里回答:https://unix.stackexchange.com/a/222506/198846

显然这是 OSX (3.2) 附带的 bash 版本中的错误,根据该答案,它已在 4.3 中修复。使用 bash --version 检查您的 bash 版本。

要修复,请更新 bash,例如

macports: sudo port install bash

brew: brew 安装 bash

安装后 bash --version 将显示它已更新(假设标准 brew/macports 路径位于 $PATH 的开头)

然后您必须将默认登录 shell(在系统偏好设置->用户和组->右键单击您的用户->高级选项->登录 shell)更改为新 bash 的路径:

(默认)macports:/opt/local/bin/bash

(默认)brew:/usr/local/bin/bash

即使 which bash 显示了 macports/brew,也需要更改默认登录 shell 步骤。

所有功劳都归功于上面链接的答案。

关于bash - 修复 bash vi 输入模式中的 <right arrow>。不能输入超过最后一个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37999569/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com