Shell-Script
如何使用 bash 腳本檢測 bash readline 的狀態?
例如;
if [ 'readline is vi-command' ]; then echo 'normal mode' else echo 'insert mode' fi
我真的不知道如何做到這一點,我似乎也無法在手冊頁上找到任何東西,或者根本不可能?
vi-append-eol
(預設為A
)僅在命令模式下綁定。因此,通過查詢目前是否綁定,可以確定目前模式。if LC_ALL=C bind -q vi-append-eol | grep -q 'not bound'; then echo 'insert mode' else echo 'normal mode' fi
LC_ALL=C
之所以使用,是因為在其他語言環境中“未綁定”將用另一種語言編寫。當然,沒有什麼特別的
vi-append-eol
,還有一堆其他的動作只綁定在其中一種模式下,任何一種都可以使用。