web-dev-qa-db-ja.com

ctrl-w(単語の削除)を構成することは可能ですか?

通常は、 Ctrl+W 最後の空白まで削除して戻します。

/などの追加の文字を使用するように構成することはできますか?

編集:より明確にするために、私はそのキーを構成したくありません。/でも削除を停止させたいです。

例:

vim /foo/bar^W
vim /foo/
44
SkaveRat

私のために働いたのは、私の.bashrcに次の行を追加することでした

stty werase undef
bind '\C-w:unix-filename-rubout'

Undef行が必要です。そうでない場合、bashはC-wの新しいバインディングを無視します

30
mkm

この特定の問題については、次のものも使用できます。

AltBackspace

$ cd /home/me/test/a_dir/    # Alt + Backspace
$ cd /home/me/test/          # Alt + Backspace
$ cd /home/me/               # ...

良い参照: bashの単語消去を使用したアドベンチャー

28
fedorqui

Escを使用してからバックスペースを使用して、スラッシュで区切られた単語を削除できます。

これを.bashrcに入れることでこれを変更できます:

bind '\C-f:unix-filename-rubout'

Ctrl+fやりたいことを行う。

26
Not Now

Bashを使用すると、目的の効果を得ることができます。以下を〜/ .bashrcファイルに追加します。

bind '"\C-w":backward-kill-Word'

ヒットCTRL+Vとキーの組み合わせで、ターミナルエミュレータの外観を確認します。例えば ​​CTRL+bkspは、端末によって解釈が異なる場合があります。 ^Hまたは^?^文字はCTRLと同じです。

7
user13742