我在 Bash shell 中使用vi
命令行编辑(set editing-mode vi
in )。~/.inputrc
但是,我发现令人沮丧的是,我无法看到vi
命令行编辑当前处于命令模式还是输入模式。
vi
有没有办法在 Bash 或 tmux 中显示当前的命令行编辑模式?
答案1
您可以通过在以下位置设置光标样式来反映模式.inputrc
:
set editing-mode vi
set show-mode-in-prompt on
set vi-ins-mode-string \1\e[6 q\2
set vi-cmd-mode-string \1\e[2 q\2
# optionally:
# switch to block cursor before executing a command
set keymap vi-insert
RETURN: "\e\n"
这将为您提供插入模式下的光束光标或正常模式下的块光标。
答案2
您可以添加set show-mode-in-prompt on
到 readline 配置(~/.inputrc
或/etc/inputrc
)
如果您想直接在 shell 中切换它,可以通过bind
内置命令来执行此操作:
bind 'set show-mode-in-prompt on'
bind 'set show-mode-in-prompt off'