MacOSXターミナルで長いコマンドを書いたとしましょう。
say "Hello, how are you? I am good thank you. How is it going with you? Fine, thanks"
そして今、Word Hello
をHi
に変更したいと思います。
そのためには、「カーソル」がWord Hello
の最後に到達するまで、左のキーボードキーを押し続ける(または押し続ける)必要があります。その後、削除します。通常の「オプションを押し続ける」手法は、他のほとんどのOSXアプリケーションのようには機能しません。
代わりに一度にWordをスキップする方法(またはカーソルをそこに移動する他の短い方法)はありますか?
コマンドライン編集はシェルの機能であり、ターミナルの機能ではありません。おそらくあなたのシェルはbashであり、おそらくそのコマンドライン編集スタイルは「emacs」に設定されています。
便利なEmacsスタイルのキーの組み合わせをいくつか紹介します。
beginning-of-line
end-of-line
forward-Word
backward-Word
delete-char
kill-Word
(次の「単語」を削除)backward-kill-Word
C-xは Control+x、つまりC-aは Control+a。
M-xは Meta+x、ただし、キーボードにメタキーがない可能性があります。したがって、代わりに、ESCxを使用できます(つまり、 Escape その後 x)。 Terminalには、キーが押される前にESCを自動的に送信する設定があります。 Option 押した。この機能を使用すると、Option修飾子を使用するときにMac OSXが通常提供する拡張文字処理が無効になります。したがって、拡張文字をほとんど使用せず、 Option+x ESCxを送信すると、このTerminalオプションを有効にできます。
あなたの例では、「こんにちは」に移動する方法はたくさんあります。
希望する交換を行う方法もいくつかあります。
Wordの最後で停止した場合(おそらくC-a M-f M-f経由)、M-DEL Hiを使用できます。
bind -P | less
のようなことをして、他の興味深いバインディングを見つけることができます。 bashのマニュアルページのreadlineセクションを参照してください (または bash情報ページのreadline部分 )詳細については。
_forward-Word
_のデフォルトのreadlineバインディングはMeta-F(bash(1)
man page、[〜#〜] readline [〜#〜] section、Commands移動用サブセクション)。ただし、OSXでMetaが何に変換されるかはわかりません。オプション、おそらく。