PowerShell でページャ less / lv を使う

前書き

PowerShell ではページャとしてコマンドプロンプトと同じ more を使えるが、後戻りができないので不便だった。そこで次の方法を試したがうまくいかなかった。

  • GnuWin32 のバイナリを使う
    • 文字が表示されない
  • WSL (Windows Subsystem for Linux) の less や lv を使う
    • 引数にファイルを指定したときに WSL と Windows でパス区切りが違うためファイルを読めない

次の方法もあったが LCC (C Compiler) が必要だったため試さなかった。

使用方法

試した中で WSL の less / lv を使うのが一番良さそうだったので、パスを変換するためのスクリプトPHP で書いた。

使用方法は次の通り。

  • この lv.cmd をパスの通ったディレクトリ、 lv.php を適当なディレクトリに配置する
  • lv.cmd で指定している php および lv.php のパスを環境に合わせて修正する
  • less を使う場合は lv.phpconst PAGER = 'wsl lv'; の部分を、またファイル名を修正する
  • lv を使う場合は WSL に lv をインストールする

f:id:scientre:20200617103156p:plain
PowerShell で lv