我非常喜欢vim,真的想用vi-mode来增强我的bash体验.然而,有一件事我习惯于emacs的行为,当用光标向上/向下浏览shell历史时,光标位于行的末尾.
在vi模式中,它是另一种方式; 光标始终位于行的开头.它已经在大脑中燃烧,期望光标在最后,在emacs模式中使用bash太长时间了.
在浏览shell历史记录时,是否有机会在bash vi-mode的行尾默认获取光标位置?
您需要重新映射上下游标:
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作为键映射来执行相同的操作.