シェルの「単語の削除」ショートカットが削除する文字数が多すぎる


9

Bashの下では、Alt+のいくつかの動作が何d年もの間私を狂わせてきており、設定で修正できる可能性があることを理解しました。

私がターミナルにいて、次のようなコマンドを発行した場合:

...$   cat >> ~/notesSuperLongFilename.txt

次に、発行したい場合は、

...$ scp ~/notesSuperLongFilename.txt

私は戻って取得したいのですが、「>>猫を〜/ notesSuperLongFilename.txt」し、Ctrl + Pを(前の行)を使用して行うCtrl+ a、その後、Alt+ dAlt+ d再び私が持っていると思いますので。

...$  ~/notesSuperLongFilename.txt

そして、私は単に「scp」と入力してからCtrl+を実行することができますm(またはEnter / Returnキーを押します)。

ただし、最初のAlt+の後、次のようになるため、機能しませんd

...$ >> ~/notesSuperLongFilename.txt

(ここまでは順調ですね)

しかし、2番目以降Alt+ d私は得る:

...$ .txt

だから、何らかの理由でAlt+ d削除「>>〜/ notesSuperLongFilename」一回だけではなく、削除するので「>>」

これは、文字通り何年もの間、Linux / Bashで私を狂わせている最大の時間浪費である必要があります。

では、どうすればAlt+のこの(おそらく壊れている)動作を修正できdますか?

PS:私はそのAlt+ d動作の「責任者」が誰なのかわかりません。それがターミナルなのか、それともシェル(私の場合はBash)なのかわかりません。


「cat >>〜/ notesSuperLongFilename.txt」の後に「scp」と入力してから、Escキーを押します。(1回エスケープしてから「。」文字を1回)
Mathieu

回答:


3

そのAlt + d動作の「責任者」が誰なのかわかりません。それが端末なのか、それともシェル(私の場合はBash)なのかわかりません。

それはだbash具体的には、デフォルトのコマンドライン編集のセットアップ。 ここで素敵なページがコマンドをバインドすることができるものであり、そしてどのようにデフォルトのバインディングを変更します。

のデフォルトのバインディングAlt-dkill-word、Emacsの同じ名前のコマンドと同じように機能するはずです。ただし、ご覧のとおり、そうではありません。Emacs >>は、例のとチルダの間のスペースを改行と見なします。それbashはしません、私はバグと考えます。のソースを取得してbash変更し、再コンパイルする以外に、何ができるかわかりません。


1
これはバグのようです。私はそれをBashチームに報告します。
アーニー2013
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.