← Vim研究所

netrwでよく使うディレクトリをブックマークする(mb/gb/qb)

2019-12-24 公開 ・ 更新: 2026-08-20

プロジェクトの階層が深く、毎回同じディレクトリまで潜るのが手間でした。netrwにはブラウザのブックマークに近い機能があり、よく使う場所への移動を1コマンドで済ませられます。

ブックマークはnetrwの機能です。Neovim 0.13でnvim .から開く一覧には用意されていません。新しい一覧が持つのは「開く・上へ・読み直す」の3つだけです。Vim側は変わりません。Neovimで0.13以降を使っていて、この記事の操作が見当たらない場合は:Exploreを打つと従来どおりnetrwが開きます。詳しくはNeovim 0.13でnetrwが標準の一覧から外れる件にまとめています。

目次(9項目)

ブックマークの基本操作

キー動作
mb現在のディレクトリをブックマークに追加
gb最初のブックマークへ移動
qbブックマークと移動履歴の一覧を表示

ブックマークが複数あるときは、qbで表示される番号を使って{数字}gbのように指定すれば任意のブックマークへ移動できます。

コマンドで直接ブックマークする

:NetrwMB {対象のファイルまたはディレクトリ}

:NetrwMBはnetrwを起動していない状態でも実行できます。引数を省略したときにブックマークされる対象は、状況によって変わります。

状況ブックマークされる対象
netrwバッファの外今開いているファイル
netrwバッファの中カーソル位置のファイル/ディレクトリ

!を付けるとブックマークから削除できます。

:NetrwMB! {対象のファイルまたはディレクトリ}

移動履歴も一緒に管理される

qbで表示されるのはブックマークだけでなく、netrwで移動してきたディレクトリの履歴も含まれます。明示的にブックマークしていなくても、最近訪れた場所であれば一覧から番号を指定して戻れることがあります。とはいえ履歴は溜まっていくと見分けがつきにくくなるので、頻繁に使う場所は面倒でもmbで明示的にブックマークしておいたほうが、あとから探す手間が省けます。

ブックマークの保存先

ブックマークと移動履歴は.netrwbookというファイルに保存されます。デフォルトではruntimepathの最初のディレクトリ配下に置かれ、g:netrw_homeで保存先を変更できます。Vimを再起動してもブックマークが引き継がれるのは、このファイルに永続化されているためです。

要点:頻繁に行き来するディレクトリはmbで登録しておけば、深い階層でもgb一発で戻れます。:NetrwMBを使えばnetrwを開かずに登録できるので、作業を中断せずに済みます。
使ってみて

深いモノレポ構成のプロジェクトで、目的のパッケージのディレクトリまで毎回cdを打っていましたが、ブックマークに登録してからはgbだけで行き来できるようになりました。プロジェクトを切り替えるたびに再登録が必要な点だけは少し面倒ですが、それでも毎回パスを打つよりはるかに速く感じます。複数のブックマークを使い分けるようになってからは、qbで番号を確認してから移動する癖もセットで身につき、目的の場所を間違えることもほぼなくなり、体感でも移動にかかる時間が明らかに短くなりました。

ブックマークの保存先を変える

.netrwbook の置き場所は netrw_home で決まります。指定していない場合は runtimepath の先頭のディレクトリ、つまり多くの環境では設定ディレクトリの中に作られます。

let g:netrw_home = expand('~/.local/share/nvim')
:echo g:netrw_home

設定ディレクトリをgitで管理している人は、ここを分けておくとブックマークや履歴が差分に出てこなくなります。逆に、複数のマシンで同じブックマークを使いたいなら、同期しているディレクトリを指定するという使い方もできます。

ブックマークが消えたとき

ブックマークはVimの終了時に書き出されます。強制終了したり、複数のVimを同時に開いて別々にブックマークを足したりすると、あとから終了したほうの内容で上書きされます。

確実に残したいときは、追加した直後に :NetrwBookHistSave を実行すると、その場でファイルに書き出されます。読み直しは :NetrwBookHistRead です。複数のVimを開いて作業する人は、この2つを覚えておくと取りこぼしません。

ブックマークを使わずに済ませる

移動先が数か所に決まっているなら、そもそも :cd の別名を作ってしまうほうが速いこともあります。Exコマンドとして定義しておけば、netrwを開かずに移動できます。

command! Cwork cd ~/work/project/src
command! Cconf cd ~/.config/nvim

ブックマークが向くのは、その時々で変わる作業ディレクトリを一時的に覚えておきたい場面です。恒久的によく行く場所は設定ファイルに書いてしまい、ブックマークは今週の作業用、という使い分けにすると管理する数が減ります。netrwの開き方そのものは起動方法の記事にまとめています。

まとめ

netrwのブックマークは、深い階層への移動を1コマンドに圧縮できる地味だが効果の大きい機能です。.netrwbookに永続化されるので、一度登録すれば次回起動時も使えます。プロジェクトをまたいで使う場合は、g:netrw_homeを切り替えてプロジェクトごとに保存先を分けておくのも1つの手です。なおgbはカウントを付けて{cnt}gbと打つと、登録した何番目のブックマークへでも直接飛べます。飛んだ先では一覧の表示形式を切り替えたり、分割やタブでファイルを開いたりと、通常のnetrwと同じ操作がそのまま使えます。保存先の.netrwbookruntimepathの先頭のディレクトリに置かれ、中身はソート済みで並びます。

関連記事

← Vim研究所 トップへ戻る