2012-04-18 5 views
9

多くの回Ctrl-Rを使用してリバース検索を行い、一部の文字を間違えて入力します。 Bashは数百の行を飛び越え、私は一週間前に使っていたコマンドの真中にいる。bashのコマンド履歴の最新/終了まですばやくスクロールするにはどうすればよいですか?

入力した最新のコマンドにジャンプするためのショートカットはありますか?

編集:CentOSのサーバーおよびMac OS X上でそれをテストした後、それが唯一のOS Xの

答えて

3

私はこの同じ問題で苦労しました。

これはctrl-cで中止することで解決できます。逆方向検索の途中であっても、矢印を使用して履歴をスクロールしている場合でも、中断すると、最後のコマンドの直後に履歴のスクロールが表示されます。

UPDATE

は、ここで私はちょうど学んだ素敵なトリックです。 Bashと他の多くのプログラムでは、コマンドラインの解釈のためにReadlineを使用しています。 Readlineのキーバインドは、.inputrcファイルまたはbindコマンドで設定できます。バインディングは、Readlineによって提供されるいくつかの関数を使用することができます。例えば、私はviのモードでバッシュを使用しますが、私はまだ、私は私の.bashrcファイルに次の行を持っているので、EmacsのスタイルのCTRL-Aを使用したい:

バインド「\カルシウム:行頭」

利用可能なすべてのReadline関数を一覧表示するには: bind -l

関数の中には歴史の終わりがあります。この関数は、その名前が示唆するように機能します。この方法とabortコマンドを使用するだけの違いは、これにより同じプロンプトが表示されることです。

0

に起こってこのようになります。そうでないかもしれない正確に何をしたいが、あなたは自分のミスタイプの文字(複数可)を修正することができますCTRL-r(逆方向i-search)モードでバックスペースを使用して

+0

Backspaceで修正できますが、検索カーソルはまだ100+コマンドです。 – volni

3

libreadlineを使用している場合、Alt->(またはMeta->)です。 Readline shortcutsの詳細またはの検索履歴を操作するコマンドのmanページを参照してください。

+1

Mac OS X LionでiTerm2を使用している私にはこれが機能しません。 – volni

+0

使用するシェルと、libreadlineのサポートがあるかどうかによって異なります。 iTerm2を自分で使用したことがなく、Metaキーを定義する設定があるかどうかを確認してください。ところで、OS Xを使用している場合、このショートカットはターミナルで正常に動作します。 –

0

「お勧めボックス」のような履歴HSTRを試してみることもできます。 bashの履歴を読み込み、簡単なナビゲーションとフィルタリングが可能です。同様の履歴エントリのコンテキストを見ることができます。履歴項目を選択すると、コマンド行で編集することができます。

0

Macの場合、command + . 私のために働きます。 私はalt+.alt+shift+.を試していましたが、どちらもうまくいきません。そしてcommand + .が実際に動作することがわかりました

関連する問題