netrwでファイルを開く5つの方法 分割・タブ・プレビューの使い分け
netrwでディレクトリを開いたはいいものの、いつもEnterでファイルを開いていました。それだとnetrwの画面自体が閉じてしまい、他のファイルも見比べたいときに毎回開き直す羽目になります。開き方だけで5種類の使い分けが用意されています。
ここで扱う5つの開き方はnetrwのものです。Neovim 0.13でnvim .から開く一覧では、使えるのはEnterだけになります(ほかに親ディレクトリへ移る-と読み直しのRがあります)。Vim側は変わりません。Neovimで0.13以降を使っていて、この記事の操作が見当たらない場合は:Exploreを打つと従来どおりnetrwが開きます。詳しくはNeovim 0.13でnetrwが標準の一覧から外れる件にまとめています。
| キー | これだけ覚える |
|---|---|
| Enter | 同じウィンドウで開く(netrwは閉じる) |
| p | プレビュー(カーソルはnetrwに残る) |
| o / v | 水平 / 垂直分割で開く |
| t | 新規タブで開く |
5つの開き方
| キー | 動作 |
|---|---|
| Enter | 同じウィンドウでファイルを開く(netrwは閉じる) |
| o | 水平分割した上のウィンドウで開く |
| v | 垂直分割した上のウィンドウで開く |
| t | 新規タブで開く |
| p | プレビュー(カーソルはnetrw側に残ったまま開く) |
../
a.js
utils/
import "./utils/format.js"
console.log(1)
このうちpだけ毛色が違います。他の4つはカーソルが開いたファイル側に移動するのに対し、pはnetrwの画面にカーソルが残ったままファイルの中身だけ表示されます。何個もファイルを見比べながら目当てのものを探すときに、この違いが効いてきます。
使い分けの目安
Enterで開いてしまうとnetrwの画面自体が消えるので、ディレクトリを探索しながら複数ファイルを見る用途には向きません。目当てのファイルが決まっていて、そこに集中したいときに使うコマンドだと考えられます。
逆に「まだ探している最中」ならpで中身をプレビューしながら見ていき、これだと決まったらoやvで分割して本格的に編集を始める、という流れが自然です。tはタブごと別の作業として扱いたいときに使います。
netrwを開く入り口も複数ある
ファイルを開く操作とあわせて、netrw自体の起動方法も覚えておくと使い勝手が上がります。vim .のようにディレクトリを指定して起動すればnetrwがそのまま立ち上がりますが、すでにVimを開いた状態からなら:Explore(カレントバッファのディレクトリを開く)、:Sexplore(水平分割で開く)、:Vexplore(垂直分割で開く)が使えます。今開いているファイルの場所からすぐ探索を始めたいときは、ディレクトリを打ち直すより:Exploreのほうが速くなります。
pの存在を知る前は、目的のファイルにたどり着くまでEnterとnetrwの再起動を何度も繰り返していました。プレビューを覚えてからは探索と決定が完全に分かれて、無駄な開き直しがほぼなくなりました。地味ですが体感の差が大きいコマンドでした。:Explore系のコマンドも同様で、今いる場所からすぐ探索を始められると分かってからは、わざわざファイルパスを打ち直す機会自体が減りました。
開いたあとにnetrwを残す
毎回 o や v を押し分けるのが面倒なら、Enter を押したときの動きそのものを変えられます。netrw_browse_split に値を入れておくと、その方法で開くのが既定になります。
let g:netrw_browse_split = 0 " 同じウィンドウ(既定)
let g:netrw_browse_split = 1 " 水平分割
let g:netrw_browse_split = 2 " 垂直分割
let g:netrw_browse_split = 3 " 新しいタブ
let g:netrw_browse_split = 4 " 直前のウィンドウ
サイドバーとして常駐させたいなら :Lexplore があります。画面の左端に固定幅で開き、もう一度実行すると閉じます。ツリー表示のプラグインに近い使い勝手になるので、プラグインを入れる前に一度試してみる価値があります。
プレビューウィンドウの閉じ方
p で開いたプレビューは通常のウィンドウとは別扱いで、閉じるには Ctrl-w z か :pclose を使います。Ctrl-w c でも閉じられますが、カーソルをプレビュー側へ移す必要があるぶん手数が増えます。
プレビューを開いたまま次のファイルへ p を押すと、同じウィンドウの中身が入れ替わります。ディレクトリを上から順に眺めていくときは、閉じずに j と p を交互に押すのがいちばん速く済みます。
開けないときに見るところ
ファイル名にスペースや日本語が含まれていると、環境によっては開けないことがあります。netrwはファイル名をシェルに渡す処理を持っているためで、netrw_localcopycmd など外部コマンドを使う操作で特に出ます。
リモートのファイルを開こうとして固まる場合は、scp や rsync の認証待ちになっていることがほとんどです。鍵のパスフレーズを聞かれているのに画面に出ていない、という状態なので、先に端末側で接続できることを確かめてください。リモート編集の設定はscp・sftpでの編集にまとめています。
まとめ
netrwでのファイルの開き方は目的によって使い分けると効率が上がります。探索中はp、決まったら分割かタブ、という流れを基本にすると迷いません。プラグイン無しでここまで柔軟に開き方を選べるのはnetrwならではで、外部ファイラープラグインを導入する前に、まずは標準機能だけでどこまで困らないか試す価値があります。どのプラグインが何を足してくれるのかはファイラープラグインの比較に、netrw自体の開き方は起動方法のまとめにあります。