如何在 vi 模式下的 bash 中快速将光标移动到末尾?

如何在 vi 模式下的 bash 中快速将光标移动到末尾?

当我处于插入模式并且从最后一个光标位置向左移动(最后一个字符右侧的空白点)时,我无法再返回到该位置。我必须输入Esc$a(或替换$很多次)才能到达那里。似乎有很多额外的击键只是为了删除最后一个字符(并且仍然处于插入模式)。

有没有更好的方法或者我应该使用默认的 emacs 模式(即使我不知道单个 emacs 命令)?

答案1

Shift在正常模式下,您可以使用+在行尾开始编辑A

在插入模式下,您应该能够进入 EOL。

手册中:

man readline
/VI Mode bindings<Enter>

至于真实/其他问题,我必须补充一下:

$ le eds de x
      ^     ^^
      |     ||
      A     BC

在插入模式下,您的意思是您无法移动到C,只能BA

即使与,或End

这样,如果您开始输入字母,就会在之前输入x

答案2

您只需按该End键即可到达那里。

另外,您可以使用Shift + A(大写 A - 表示附加) 让您在行尾进入插入模式。

答案3

我知道这是一个老问题,但我已经为此绞尽脑汁好几天了,终于明白了。事实证明解决方案很简单:将 bash 更新到 4.3。 Mac(甚至 Yosemite)上的默认 bash 是 3.2。

安装自制软件

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后做

brew install bash

然后将默认 shell 路径(在终端首选项中)更改为

/usr/local/bin/bash

就是这样。检查你的 bash 版本

bash --version

作为额外的奖励,您可以获得模式指示器!

bind 'set show-mode-in-prompt on'

它将显示+插入模式和:命令模式。

答案4

您可以使用:10000or more 到达最后一行

相关内容