当前位置:  开发笔记 > 编程语言 > 正文

在vi模式下进行Bash:使用上/下光标浏览shell历史记录,光标位置不在末尾?

如何解决《在vi模式下进行Bash:使用上/下光标浏览shell历史记录,光标位置不在末尾?》经验,为你挑选了1个好方法。

我非常喜欢vim,真的想用vi-mode来增强我的bash体验.然而,有一件事我习惯于emacs的行为,当用光标向上/向下浏览shell历史时,光标位于行末尾.

在vi模式中,它是另一种方式; 光标始终位于行的开头.它已经在大脑中燃烧,期望光标在最后,在emacs模式中使用bash太长时间了.

在浏览shell历史记录时,是否有机会在bash vi-mode的行尾默认获取光标位置?



1> Pianosaurus..:

您需要重新映射上下游标:

bind -m vi-command '"\201": previous-history'
bind -m vi-command '"\202": next-history'
bind -m vi-command '"\203": end-of-line'
bind -m vi-command '"\e[A": "\201\203"'
bind -m vi-command '"\e[B": "\202\203"'

这会将先前历史记录,下一历史记录和行尾结束映射到不存在的键,然后向上和向下映射到这些字符的序列.如果你愿意,你可以为j/k做同样的事情,但我建议你不要管它们.这样你就可以做到这两点.

这仅在您处于命令模式时重新映射键.在我的机器上,光标已经在插入模式的行尾.如果您不这样做,则可以使用vi-insert而不是vi-command作为键映射来执行相同的操作.

推荐阅读
mobiledu2402851377
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有