<ctrl> + W
は一度に1ワードずつ削除するようです。それは素晴らしいことですが、他のほとんどのアプリと同じように、<ctrl> + <backspace>
を使って本当に本当に仕事をしたいと思います。
これを行う最良の方法は何ですか? gnome-terminalコマンド、コマンドラインvim、GUI vimに影響を与えるには、変更が必要です。
これは端末とデフォルトのemacsモードで動作します(if Ctrl+W 以前のWordを削除します)。 bashのviモードでは機能せず、vi/vim自体には影響しません。したがって、これは部分的な答えにすぎませんが、このemacsユーザーが提供できる最善の方法です。
この種のことは、~/.inputrc
を介して動作を制御できるreadline
ライブラリーによって管理されます。 ~/.inputrc
を編集(または存在しない場合は作成)し、次の行を追加します。
"\C-H":"\C-W"
ここで、新しいターミナルを開き、それが機能するはずです。
\C-H
は実際には Control+BackSpace。キーを押すとキーコードが表示されます Ctrl+V 次に、あなたが求めている鍵。あなたはそれを見るでしょう BackSpace ^H
を返します。
さて、それはshouldバインド可能です Control+BackSpace backward-kill-Word
を使用して、以前のWord(unix-Word-rubout
または"\C-H": backward-kill-Word
)を削除するbash関数へ。ただし、それを機能させることはできません。さまざまなキー("\C-E": backward-kill-Word
、たとえば、 Ctrl+E 以前のWordを削除します)が、何らかの理由で、私はそれを動作させることができません BackSpace。
回避策として、マッピングするだけです Ctrl+Backspace に Ctrl+W 既にbackward-kill-Word
にマッピングされています。だから、押すと Ctrl+Backspace、に翻訳されます Ctrl+W 次に、backward-kill-Word
を送信します。 このSU投稿 からこの回避策のアイデアを得ました。
ごく最近まで、gnome-terminalは同じコードを Backspace そして Ctrl+Backspace、したがって、アプリケーションでこの2つを区別することはできません。
これはvte-0.42で修正され、この秋にリリースされたGnome 3.18の一部です。
Wilyを使用している場合、更新パッケージは Gnome3 Staging にあります。
それは私のマシンで動作します。 masterのtmuxとlinuxbrewのnvimを使用し、control + backspaceがbashとvimでも機能することを確認してください!
(linuxbrewからbashも取得)