0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

less で最後に空ページを表示しない方法

Last updated at Posted at 2023-12-27

以前、こういう記事を書いた。

ansicolumn を使うと、画面のちょうど倍数だけの行を出力する。これを less で読むとどうなるかというと、最後にスペースでページを送ると必ず何もない空白のページが表示される。以前からこれが地味にストレスだったので、どうにかできないかという話。

まず、G で最終ページに飛ぶという方法がある。こうすると、そこでスペースを入力しても空ページは表示されない。最後のページが見たいのならそのままでいいし、そうでなければ g で先頭に戻る。

であれば、これを自動的に実行すればいい。なんとかならないかと考えてみたら、実は簡単だった。less+Gg というオプションをつけて実行するだけだ。

optex -Mtc ansicolumn -DPC2 sample.docx | less +Gg

+ の後に文字を指定すると、それを入力したかのように実行してくれる。だから上に書いたように、G で最後に飛んだ後に g で先頭に戻る動作を自動的にやってくれる。それは画面上には表示されないので、見ていてもまったく気がつかない。

いつもこれを実行したいのなら LESS という環境変数を設定すればいい。

export LESS="-cR+Gg"

のようにすれば、常にこのオプション付きで実行される。しかし、終わりのないデータだったりすると永遠にまたされることになるので、必要な時だけにした方がいい。

調べると +Gg の効能は他にもあった。less-M オプションは、行番号とファイル中の位置を表示してくれるのだが、一度最後のページまで行かないと全体の行数がわからない。こんな時には +Gg を付けろというのが常套手段のようだ。

less -M +Gg

ちなみに + オプションはたまに使うことがあって、

less +100

のようにすれば100行目を表示してくれるし、

less +/pattern

のように使えば、pattern を検索してその行を表示してくれる。

vi でも同様に使えるので、知らなかった人はお試しあれ。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?