回答:
これはターミナルとデフォルトのemacsモード(Ctrl+ Wで前の単語が削除された場合に使用)で機能することに注意してください。bashのviモードでは機能せず、vi / vim自体には影響しません。したがって、これは部分的な答えにすぎませんが、このemacsユーザーが提供できる最高のものです。
この種のものは、によってreadline
動作を制御できるライブラリによって管理され~/.inputrc
ます。編集(または、存在しない場合は作成)~/.inputrc
して、次の行を追加します。
"\C-H":"\C-W"
ここで、新しいターミナルを開いてください。
これ\C-H
は実際にはControl+ BackSpaceです。Ctrl+ Vを押すと、キーコードが表示されます。あなたはそれが表示されますBackSpace戻ります^H
。
今、それがなければならないバインドすることが可能にControl+ BackSpace前の単語(削除bashの機能にbackward-kill-word
またはをunix-word-rubout
使用して)"\C-H": backward-kill-word
。しかし、私はそれを機能させることができません。それはさまざまなキーで完全にうまく機能します("\C-E": backward-kill-word
たとえば、前の単語をCtrl+ E削除します)が、何らかの理由でそれをで動作させることができませんBackSpace。
したがって、回避策として、すでに+ にマッピングされているCtrl+ BackspaceをCtrl+ Wにマッピングしbackward-kill-word
ます。したがって、Ctrl+ を押すと、+ Backspaceに変換され、Ctrl+ Wが送信されますbackward-kill-word
。この回避策のアイデアは、このSUの投稿から得ました。
ごく最近まで、gnome-terminalは同じコードBackspaceとCtrl+を出力していましたBackspace。そのため、アプリケーションで2つを区別することはできません。
これは、この秋にリリースされたGnome 3.18の一部であるvte-0.42で修正されました。
Wilyを使用している場合は、Gnome3ステージングで更新されたパッケージを見つけることができます。
代わりにAlt+ Backspaceを使用してください。これはCtrl+ Backspaceと同じように機能し、設定は必要ありません。
それは私のマシンで動作します。masterのtmuxとlinuxbrewのnvimを使用し、control + backspaceがbashとvimでも機能することを確認してください。
(linuxbrewからbashも取得します)