Bash 또는 tmux에서 `vi` 명령줄 편집(`set editor-mode vi`)의 현재 모드를 표시하는 방법은 무엇입니까?

Bash 또는 tmux에서 `vi` 명령줄 편집(`set editor-mode vi`)의 현재 모드를 표시하는 방법은 무엇입니까?

나는 ( Bash 쉘에서 ) vi명령줄 편집을 사용합니다 set editing-mode vi.~/.inputrc

vi하지만 현재 명령줄 편집이 명령 모드인지 입력 모드인지 알 수 없는 점이 답답합니다 .

viBash 또는 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"

그러면 삽입 모드에서는 빔 커서가, 일반 모드에서는 블록 커서가 제공됩니다.

더보기https://stackoverflow.com/a/42107711/52817

답변2

set show-mode-in-prompt onreadline 구성에 추가할 수 있습니다 ( ~/.inputrc또는 /etc/inputrc).

셸에서 직접 전환하려면 bind내장된 명령을 통해 수행할 수 있습니다.

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

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

관련 콘텐츠 보기Debian Jessie의 bash 프롬프트 시작 부분에 잘못된 @ 기호가 나타납니다.

관련 정보