netrwのファイル一覧表示を切り替える thin/long/wide/tree
netrwはファイル名だけのシンプルな一覧で満足していましたが、他の人の画面でツリー表示になっているのを見て、表示形式を切り替えられることを知りました。1つのキーで4種類を巡回できます。
iキーで表示形式を切り替える
i
netrwのファイル一覧上でiを押すたびに、次の順番で表示形式が切り替わります。
| 形式 | 内容 |
|---|---|
| thin | ファイル/ディレクトリ名だけを表示 |
| long | 名前に加えてファイルサイズと最終更新日時を表示 |
| wide | 複数列に分けて表示する、最もコンパクトな形式 |
| tree | ディレクトリの深さを|で示すツリー形式 |
最初に表示されるのはthinで、名前しか出ないぶん一覧性が高くなります。ファイルサイズや更新日時も見たいときはlong、階層構造を把握したいときはtreeが向いています。
long形式の情報量
long形式はローカルディレクトリなら名前・サイズ・更新日時を、リモートディレクトリの場合はSSH経由で実行したlsコマンドの結果に基づいて表示します。手元のファイルとリモートのファイルとで表示の裏側の仕組みが違う点は、覚えておくと挙動を理解しやすくなります。
tree形式の使い勝手
tree形式では、ディレクトリ名の上でEnterを押すとその場で開閉できます。画面が切り替わらないので、今どの階層を見ているか見失いにくいのが利点です。深い階層まで潜っても、同じ階層にある別のディレクトリへ移動しやすくなります。
デフォルトの表示形式を固定する
毎回iで切り替えるのが面倒なら、設定ファイルにデフォルト値を書いておけます。
let g:netrw_liststyle = 3 " 0:thin 1:long 2:wide 3:tree
ツリー表示を最初から使いたい人は3を指定しておくと安心です。ただしlong形式とwide形式には、ファイル名の末尾に空白が含まれる場合や、名前の中に連続した空白がある場合にうまく扱えないという制約があります。そうしたファイルを扱う可能性がある環境ではthinを基本にしておくほうが安全です。
g:netrw_liststyleでデフォルトを固定できますが、ファイル名に空白が絡む環境ではthinが無難です。
最初はtree形式をデフォルトに固定していましたが、ファイル数が多いディレクトリでは逆に見づらく感じることがあり、結局thinに戻しました。表示形式は環境やディレクトリの規模によって向き不向きがあるので、固定するよりiでその場で切り替える運用のほうが自分には合っていました。long形式のリモート表示が地味に重いと感じる場面もあったので、SSH越しの作業では基本thinのままにしていて、tree形式はローカルの小規模なディレクトリを見るときだけ使うようにしています。
まとめ
netrwの一覧表示はiキーで4種類を巡回できます。tree形式は階層把握に強いですが、ファイル名の制約があるlong/wideとは特性が違う点を覚えておくと安心です。一覧の上に出るバナーが場所を取ると感じたら、バナーは消せます。そもそもnetrwをどう開くかは起動方法のまとめで扱っています。表示形式はg:netrw_liststyleに書いておくと、次からその形で開きます。