これは長年私を悩ませてきました。私はその中のキーシーケンスのバインディングを解放しようとしましたが、.inputrc
それをtrueとfalseに設定し、EDITOR
bashとreadlineのマニュアルページを読み、もう一度読みました。 bashの代わりにkshを使用します。
キーボードシーケンスEscの動作を無効にする方法はv?
答え1
自分も知らないようにパターンをbash
使っているようです。vi
vi
パターンでは、 を持つのbash
と同じです。vi
挿入モードテキストを挿入できる場所(および交換パターンこれはその変形です)コマンドモードx
ここでは、文字の削除、b
1単語の後ろへの移動などのアクションまたはアクションコマンドを入力できます。
次から切り替えました。挿入/置換モード到着コマンドモード、、、、...Escなどのいくつかのコマンドを使用すると、次のように入力できます。i
a
A
s
挿入モード~からコマンドモード。
存在するコマンドモード、v
現在行を編集するためのエディタを開きます(このvi
エディタにはバインドされたコマンドがないため、v
ksh(bashのベース)は特定のタスクに対応するエディタを自由に使用できます)。
ここでは、キーバインディングスタイルを使用したくないようですvi
。bash
/readline
の主キーバインディングはis emacs
、is notなので、あなたまたはあなたのシステム管理者がデフォルトでそのモードを有効にするいくつかのカスタマイズをvi
導入したようです。vi
これは、システムまたは内部set -o vi
または/etc/bashrc
システム/etc/bash.bashrc
のデフォルトのカスタマイズファイルを追加することによって実行できます。bash
set editing-mode vi
/etc/inputrc
または独自の~/.bashrc
または~/.inputrc
。
set -o emacs
再び in~/.bashrc
またはset editing-mode emacs
in に変更できます~/.inputrc
。
このemacs
パターンには、次のような機能がバインドされています。Ctrl+XCtrl+E
このモードを使用してエディタを作成したくvi
ない場合は、次の以外のウィジェットにウィジェットを割り当てることができます。v
v
edit-and-execute-command
bind -m vi-command '"v": abort'
または空の文字列なので無視されます。
bind -m vi-command '"v": ""'