Ctrl私はかなり長いbashレコードを保持しており、時にはbashインバース機能(+)を使用して何かを検索すると、最終的にr検索履歴の先頭にありますが、まだ必要なものが見つからず、次のことをしたいと思います。最後に履歴ファイルに戻ります。 1つのオプションは、履歴または実行の終わりに近い順方向検索機能(Ctrl+)を使用することです。しかし、bashレコードの終わりに直接移動できるキーボードショートカットもありますか?s#
答え1
デフォルトでは -end-of-history
にマップされるreadline機能がありますが、リバース検索中に使用されると、リバース検索プロンプトを終了します。M>
考えられる解決策/トリック
文字列検索の開始
代わりにリバース検索を使用するには、history-search-backward
(history-search-forward
デフォルトではマッピングされていません)を使用してup/down(非常に便利です)マッピングできます.inputrc
。
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
そのため、入力後(+のup
代わりに)を押すと戻ることができ、履歴の終わりに戻るには(-)を押してその機能を使用できます。CtrlRend-of-history
M>
この方法「検索文字列は履歴行の先頭に一致する必要があります。「それで検索するときは、入力してからキーを押す必要があります ls -ltr
。ls
up
部分文字列の検索
欲しいなら」検索文字列は、履歴行のどこにでも一致できます。history-substring-search-forward
「次を使用する必要がありますhistory-substring-search-backward
。
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
このように検索するとls -ltr
を入力できますが、を押す前に入力することもls
できます。ltr
up