← Vim研究所

netrwでファイルをコピー・移動する マーク機能の使い方

2019-12-23 公開 ・ 更新: 2026-08-05

netrwでファイルをコピーしたいだけなのに、いきなりmcを押しても何も起きません。netrwのファイル操作は「マークを付けてから実行する」という、CUIファイラらしい2段階の手順を踏む必要があります。

目次(6項目)
キーこれだけ覚える
mfカーソル位置のファイルにマークを付ける/外す
mtコピー・移動先のディレクトリを指定(target)
mc / mmマークしたファイルをtargetへコピー/移動
muすべてのマークを外す

マークの付け外し

キー動作
mfカーソル位置のファイルにマークを付ける/外す
muすべてのマークを外す
mr正規表現(*などのワイルドカード)でまとめてマークする
mtコピー・移動先のディレクトリを指定する(target設定)

コピー・移動の手順

ファイルをコピーする場合、次の3ステップを踏みます。

1. コピー先のディレクトリでmtを実行(target指定)
2. コピー元のファイルでmfを実行(マーク)
3. mcを実行(コピー実行)

移動したい場合は最後をmmに変えます。目的地を先に指定してから対象を選ぶ、という順序は最初は戸惑いますが、慣れれば一般的なCUIファイラの操作感と大きくは変わりません。

mtで指定する移動先が深い階層にあると、そこへ辿り着くだけで手数がかかります。よく使う移動先はブックマークに登録しておくとgbだけで飛べるので、target指定と元ファイルの選択を行き来するのが楽になります。

キー動作
mcマークしたファイルをtargetへコピー
mmマークしたファイルをtargetへ移動
mdマークしたファイル同士の差分を表示
mzマークしたファイルを圧縮/展開

表の下2つは方向を自分で選びません。mdは2つ以上マークしたときだけ意味があり、mzはマークしたものが圧縮済みなら解凍、未圧縮なら圧縮、という向きの自動判定で動きます(:help netrw-mz)。同じキーで往復するので、いま何がマークされているかを見てから押すのが安全です。

マークを使わない単純な操作

新規作成や削除、リネームのようにマーク不要の操作もあります。

キー動作
%新規ファイルを作成
d新規ディレクトリを作成
Dカーソル位置(またはマークした)ファイル・ディレクトリを削除
Rファイル・ディレクトリをリネーム

正規表現で複数ファイルをまとめてマークする

1つずつmfを押すのが面倒な場合は、mrでパターンを指定して一括マークできます。

mr *.log

ワイルドカードや正規表現で対象を絞り込めるので、拡張子ごとの一括削除や一括圧縮をしたいときにmfを連打するより早く済みます。

Windowsでの既知の制約

Windows環境では、マークを使ったコピー・移動が正常に動作しないことがあります。これはnetrwが内部的にUnix系のコマンドを前提にした処理を行っているためで、確実な回避策は見つかっていません。Windowsを主に使っていてファイル操作の頻度が高いなら、コピー・移動についてはOS標準のエクスプローラーや、NERDTreeのようなクロスプラットフォーム対応のファイラープラグインに任せたほうが安定します。

要点:「target指定→マーク→実行」の3ステップさえ覚えれば、コピー・移動・差分表示・圧縮まで一通りこなせます。ただしWindowsでのコピー・移動は不安定なので、そこだけは他の手段を用意しておくと安心です。
使ってみて

最初はtargetを指定せずにmcを押して「何も起きない」と戸惑いました。手順の順序さえ覚えてしまえば迷うことはなくなりましたが、複数ファイルを別々の場所に振り分けたいときは、targetを都度切り替える必要があって少し手間がかかります。単純な1対1のコピーなら十分実用的です。

まとめ

netrwのファイル操作はマークして実行する2段階方式です。手順さえ覚えれば移動・コピー・削除・圧縮まで標準機能だけで完結します。Windowsでのコピー・移動の不安定さだけは念頭に置いておくと安心です。圧縮のmzも同じマークをそのまま使うので、圧縮・解凍のために手順を覚え直す必要はありません。

← Vim研究所 トップへ戻る