Bash行の編集(またはGNU readlineを使用するすべてのプログラム)では、Meta-fは1つの単語を右に移動し、Meta-bは1つの単語を左に移動します。ここで、「単語」は文字と数字で構成される。これらはforward-word
コマンドですbackward-word
。 (Meta-f は、Alt 修飾キーまたはプレフィックスが付いた Esc キーのいずれかです。)
たとえば、私が入力した場合
cat /etc/motd
次に、Meta-bを繰り返し入力してカーソルをm
、、、e
に移動しますc
。
同様に単語を移動しますが、スペースで区切って移動するコマンドはありますか/etc/motd
?単一の単語にも同じように適用されますか?
(私は非常に長いファイルパスで作業することが多いので、簡単にスキップできるようにしたいです。解決策は、既存の単語移動コマンドを繰り返し入力するか、^X ^Eと入力してエディタを実行することです。)
vimでは、単語で前後に移動し、w
スペースで区切られた単語に移動します。私は似たようなものを探しています。b
W
B
ドキュメントを見た結果、readline
答えが「いいえ」のようですが、何かが欠けている可能性があります。
ベストアンサー1
これにより、readlineはスタイルコマンドをset -o vi
採用し、/および/はVim自体と同じWORD動作を持ちます。私はコマンドラインを編集するときに通常、フルパス、URLなどを/スキップを使用します。出力では、readline コマンドが and にバインドされており、その両方であることがわかります。vim
w
W
b
B
W
B
bind -l
W
B
vi-forward-bigword
vi-backward-bigword
またshell-forward-word
はとがありますshell-backward-word
。 Bashのマニュアルページによると、これらのコマンドは移動します。シェルメタ文字キャラクターであり、引用しない場合、単一の単語。したがって、コマンドよりも少し「攻撃的」ですが、長いvi-*-bigword
パスをスキップするにはほとんど常にトリックを実行します。
たとえば、これを行うと、bind '"\C-x": shell-backward-word'
+Ctrlはx説明したように機能します。