ターミナルで履歴を辿る時、CTRL+Rだとだるくない?って話(peco)
おはようございます、CPPXのP1です。 今週はちょっとした小ネタ?です。知っている人も多いかと思いますが、先輩に教えてもらったので備忘録として。
タイトル通りですね、履歴辿るとき、bashでCTRL+Rキーで みたいな画面が出て履歴を辿れると思いますが、若干不便な感じがします。
そこで、bashで
history | peco
みたいな感じに実行すると
こんな感じの画面が出てきて履歴を分かりやすく探せます。
pecoが無いよって言われた人はこの辺りからバイナリを落としてくるのが良いかと思われます。
後は、ちょっとむにむにして、.bashrc等に
function peco-select-history() { declare l=$(HISTTIMEFORMAT= history | sort -k1,1nr | perl -ne 'BEGIN { my @lines = (); } s/^\s*\d+\s*//; $in=$_; if (!(grep {$in eq $_} @lines)) { push(@lines, $in); print $in; }' | peco --query "$READLINE_LINE") READLINE_LINE="$l" READLINE_POINT=${#l} } bind -x '"\C-r": peco-select-history'
みたいな感じで記述しておくと、CTRL+Rを押した時に
のようになってかなり便利に履歴を辿れるようになります。
この辺の書き方は色々あるようなので、気になったら調べてみてください。私はよく分かりませんでした。
以上です。ターミナル全然詳しくないので勉強したいですねー。 来週は競技プログラミング系のことを書きたい!