2018年2月6日火曜日

bashの履歴を扱いやすくする

~/.bashrc に以下の行を追加すると先頭スペースのコマンドを記録しない、かつ全ての重複する履歴を削除できる。
HISTCONTROL=ignoreboth:erasedups

ignoreboth は ignorespace と ignoredups の両方を指定している。
ignoredups と erasedups の違いは ignoredups が連続する同じコマンドを記録しないだけなのに対し、erasedups は 過去の全ての同じコマンドを削除することができる。

普段よく使うショートカットは
Ctrl + r の過去のコマンド履歴検索
Ctrl + u のカーソルより前の文字列を消去
Ctrl + k のカーソルから後ろの文字列を消去
Ctrl + a 先頭へカーソル移動
Ctrl + e 末尾へカーソル移動