
言う:どうするか尋ねるのではありません。端末でvimを使用するときのカーソルの変更。 Bashのviモードで入力モードとコマンドモードを切り替えると、カーソルが変わります。
set -o vi <CR> type some text <ESC> (the cursor changes shape/color)
i (cursor change back) etc...
私が見つけた台本これにより、モードが変更されたときにカーソルの色を変更できます。扱いにくいしかし、この機能だけのためにシェルを変更したくありません。
gvim(または色)のように、Bashコマンドラインからコマンドモードと挿入モードを切り替えるときにカーソルの外観を変更する方法はありますか?
答え1
この2行~/.inputrc:
set vi-ins-mode-string \1\e[5 q\2
set vi-cmd-mode-string \1\e[2 q\2
答え2
ここからコピーしました -コマンドライン編集vimスタイル
bash
4.3で利用可能でなければなりません - 参照変更ログ-
j. New user-settable variable, show-mode-in-prompt, adds a characters to the
beginning of the prompt indicating the current editing mode.
bash
現在、4.3ではrc
デフォルトのリポジトリではありませんが、ソースでコンパイルすることなくほとんどのディストリビューションのパッケージを入手できます。例えば。 Ubuntu(amd64)こことDebian(実験リポジトリ)ここ。
答え3
まだ実際の解決策を見つけることができませんでしたが、これはあなた(または他の人)がより良い解決策を見つけるのに役立ちます。
スクリプト(kmtest.shなど)を生成する必要があります。
#!/bin/bash
# Script "kmtest.sh"
TEST=`bind -v | awk '/keymap/ {print $NF}'`
if [ "$TEST" = 'vi-insert' ]; then
echo -ne "\033]12;Green\007"
else
echo -ne "\033]12;Red\007"
fi
PS1に追加すると、次のように表示されます。
export PS1="\u@\h \$(kmtest.sh)> "
しかし、私が言ったように、これはcrの後にカーソルの色だけを変更するので、望むものではありません。幸運を祈る
国家規格
答え4
readlineをハッキングしてこれを行う方法があるようです。たぶん私たちはそれを主流に押し込むことができますか?
これがSOへの私の答えですhttps://stackoverflow.com/a/12201092/255961より多くの情報を得たら更新します。