Bash vi模式配置默认为命令模式

Bash vi模式配置默认为命令模式

是否可以配置 bash vi 模式,以便最初处于命令模式改为开启插入模式?我发现我必须施加Esc太多压力。似乎可以在 zsh 中指定这一点,但我还没有找到在 bash/readline 中执行此操作的方法。

答案1

我认为使用标准是不可能的GNU Readline 库

但是,您也许可以使用xdo工具通过简单的 hack 即可达到相同的效果。向您的命令附加.bashrc模拟按键的命令Escape将确保您的术语以命令模式打开:

xdotool key Escape

您可能希望使用开关稍微延迟一下,--delay以防止它干扰您的提示......

笔记这可能会带来比您预期更多的挫败感:终端被设计为接受输入;打破这一点(尽管只是轻微的)可能并不是一个好主意......

答案2

答案是。相关的bash源文件是bashline.c

答案3

我收回这句话,这对光标移动不起作用。它有效,但是如果你把它们去掉,就会出现有趣的行为:PS1="$PS1 ^[


更改您的PS1提示:

PS1="test $ \[^[[s^[^[[u\]"

其中^[是字面转义 ( Ctrl+ V Esc)。

中间的转义符本身更改为命令模式,^[[s^[[u转义符存储和恢复光标位置;没有这个,我发现有一些有趣的行为。

答案4

尝试set +o vi

set -o vi将再次进入编辑模式。

http://tldp.org/LDP/abs/html/options.html

相关内容