例えば。
if [ 'readline is vi-command' ]; then
echo 'normal mode'
else
echo 'insert mode'
fi
私はこれを行う方法を本当に知らず、マニュアルページに何も見つからないようです。それとも可能ですか?
ベストアンサー1
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
他のロケールでは、「unbound」が異なる言語で書かれているので使用されます。
もちろん、特別なことはなくvi-append-eol
、モードの1つだけにバインドされる他の作業がたくさんあるので、そのうちの1つを使用できます。