less の -F オプション

便利なものを見つけた。ファイルの中身を見ようとして less を使ったけど中身が 1 行しかなくて残念なことになったとか、 git log したけどコミットが 1 つしかないのにページャが起動してうざいとかは良くあることだと思う。
そこで -F(--quit-if-one-screen) オプション。名前を見ればわかると思うけど、入力テキストが画面内に収まる量だったら自動で終了して cat 相当の動作になる。実にスマート。
環境変数 LESS に追記しておけばいい。ちなみに私は後から見てわかりやすいように設定ファイルに書くときはロングネームを使うようにしている。

export LESS='--quit-if-one-screen'

ところが、私の環境だと git log のようなエスケープシーケンスを含む入力がそのまま表示されるようになってしまった。-R(--RAW-CONTROL-CHARS) オプションを付けたらなぜか直った。原因は良くわからない。

export LESS='--quit-if-one-screen --RAW-CONTROL-CHARS'

実は今までは lv を使っていたのだけれど、このオプションのおかげで less に逆戻り。 lv にも似たようなオプション欲しいな。less だと日本語のファイルを見たいときに困る。けど、冷静に考えるとそんな機会あまりないし、必要なら vim で開けばいいから特に困らないかな。多分。