web-dev-qa-db-ja.com

Bash Viモードでは、キーを1回押すと、自動的に挿入モードになります。

XFCE4ターミナルでbashシェルを使用しています。 Viモードになるようにシェルを構成しました。

〜/ .bashrcファイルに次の行を追加してこれを行いました。

set -o vi

通常モードのシェルでは、最初に押した文字は通常モードで入力されますが、その後挿入モードでスローされます。

すなわち:

通常モードです。 bを押すと、1ワード戻り、挿入モードでドロップされます。

Bbを押すと、1つの単語が返され、挿入モードに入り、b文字が挿入されます。

別の例として、ddを押すと、最初のdが通常モードでキャッチされ、次に挿入モードに移動して2番目のdが挿入されます。

シェルに手動でset -o viを入力すると(.bashrcにあるかどうかに関係なく)、この動作は得られず、代わりに通常の動作が得られます。私はEmacsモードではないので、.bashrcの変更が読み取られていることを知っています。

私はbash4.2.45(1)-releaseを使用しています。

これが私の.bashrcの完全な内容です:

  PATH=$PATH:$HOME/.rvm/bin # Add RVM to PATH for scripting
  PATH=$PATH:/home/bleakcabal/.rvm/gems/Ruby-2.0.0-p247/bin
  set -o vi
6
Gilles

@Patrickからのコメントを読んだ後、問題を修正しました

あなたが説明している振る舞いはemacsモードです。

それは私がviモードではなかったことに気づきました。私も入れました

set -o vi

.bash_profileに入力すると、すべてが正常に機能します。私が読んだことから、.bash_profileはログインシェルに使用され、.bashrcはインタラクティブな非ログインシェルに使用されているため、これは奇妙なことです。

1
Gilles