1 *pi_netrw.txt* For Vim バージョン 7.2. Last change: 2009 Jan 15
3 -----------------------------------------------------
4 NETRW REFERENCE MANUAL by Charles E. Campbell, Jr.
5 -----------------------------------------------------
8 *dav* *ftp* *netrw-file* *Nread* *rcp* *scp*
9 *davs* *http* *netrw.vim* *Nsource* *rsync* *sftp*
10 *fetch* *netrw* *network* *Nwrite*
12 ==============================================================================
13 1. 目次 *netrw-contents* {{{1
15 1. 目次.................................................|netrw-contents|
16 2. Netrw の準備.........................................|netrw-start|
17 3. Netrw リファレンス...................................|netrw-ref|
18 外部プログラムとプロトコル.........................|netrw-externapp|
19 読み込み...........................................|netrw-read|
20 書き込み...........................................|netrw-write|
21 ディレクトリのファイル一覧表示.....................|netrw-dirlist|
22 USERID と PASSWORD を変更..........................|netrw-chgup|
23 NETRW の変数と設定.................................|netrw-variables|
24 パス...............................................|netrw-path|
25 4. ネットワークファイル転送.............................|netrw-xfer|
26 NETRC..............................................|netrw-netrc|
27 パスワード.........................................|netrw-passwd|
28 5. netrw の有効化.......................................|netrw-activate|
29 6. 透過的なファイル編集.................................|netrw-transparent|
30 7. Ex コマンド..........................................|netrw-ex|
31 8. 変数とオプション.....................................|netrw-var|
32 9. ブラウジング.........................................|netrw-browse|
33 ブラウジングの紹介.................................|netrw-intro-browse|
34 クイックリファレンス: マップ.......................|netrw-browse-maps|
35 クイックリファレンス: コマンド.....................|netrw-browse-cmds|
36 ディレクトリをブックマークする.....................|netrw-mb|
37 ブラウジング.......................................|netrw-cr|
38 水平分割ウィンドウを使ったブラウジング.............|netrw-o|
39 タブを使ったブラウジング...........................|netrw-t|
40 垂直分割ウィンドウを使ったブラウジング.............|netrw-v|
41 一覧表示スタイル変更...............................|netrw-i|
42 ブックマークしたディレクトリに移動.................|netrw-gb|
43 前方のディレクトリに移動...........................|netrw-u|
44 後方のディレクトリに移動...........................|netrw-U|
45 ユーザー定義関数でブラウジングをカスタマイズ.......|netrw-x|
46 ブックマークの削除.................................|netrw-mB|
47 ファイル/ディレクトリの削除........................|netrw-D|
48 ディレクトリ探査コマンド...........................|netrw-explore|
49 スターとパターンを使った探索.......................|netrw-star|
50 ファイルの情報を表示する...........................|netrw-qf|
51 隠しリストを編集する...............................|netrw-ctrl-h|
52 ソートシーケンスを編集する.........................|netrw-S|
53 親ディレクトリに移動する...........................|netrw--|
54 ファイル/ディレクトリを隠す........................|netrw-a|
55 ブラウジングを改善する.............................|netrw-ssh-hack|
56 ブックマークと履歴を一覧表示する...................|netrw-qb|
57 新しいディレクトリを作成する.......................|netrw-d|
58 ブラウジングディレクトリをカレントディレクトリにする |netrw-c|
59 ファイルをマークする...............................|netrw-mf|
60 正規表現を使ってファイルをマークする...............|netrw-mr|
61 マークファイル: 任意のコマンド.....................|netrw-mx|
62 マークファイル: 圧縮と伸長.........................|netrw-mz|
63 マークファイル: コピー.............................|netrw-mc|
64 マークファイル: Diff...............................|netrw-md|
65 マークファイル: 編集...............................|netrw-me|
66 マークファイル: Grep...............................|netrw-mg|
67 マークファイル: 拡張子による表示/非表示............|netrw-mh|
68 マークファイル: 移動...............................|netrw-mm|
69 マークファイル: 印刷...............................|netrw-mp|
70 マークファイル: スクリプト実行.....................|netrw-ms|
71 マークファイル: タグ生成...........................|netrw-mT|
72 マークファイル: ターゲットディレクトリを設定する...|netrw-mt|
73 マークファイル: マーク解除.........................|netrw-mu|
74 Netrw ブラウザ変数.................................|netrw-browser-var|
75 Netrw ブラウザとオプション設定の互換性.............|netrw-incompatible|
76 Netrw の設定.......................................|netrw-settings|
77 ファイルを取得する.................................|netrw-O|
78 プレビューウィンドウ...............................|netrw-p|
79 以前のウィンドウ...................................|netrw-P|
80 一覧を更新する.....................................|netrw-ctrl-l|
81 ファイル/ディレクトリの名前を変更する..............|netrw-move|
82 ソートの順番を逆にする.............................|netrw-r|
83 ソートの種類を変更する.............................|netrw-s|
84 ファイルを開くウィンドウを指定する.................|netrw-C|
85 10. 問題と対策...........................................|netrw-problems|
86 11. Netrw をデバッグする.................................|netrw-debug|
87 12. 変更履歴.............................................|netrw-history|
88 13. クレジット...........................................|netrw-credits|
92 ==============================================================================
93 2. Netrw の準備 *netrw-start* {{{1
95 Netrw を使うとファイルの読み込み、書き込み、ネットワークを透したブラウジング、
96 ローカルファイルのブラウジングが簡単になります。最初に、プラグインが有効になっ
97 ているかどうかを確認してください。最低限、次のような設定が<.vimrc>に必要です:
98 (なっていない場合は |netrw-activate| を参照してください) >
100 set nocp " 'compatible' をオフにする
101 filetype plugin on " プラグインを有効にする
103 (|'cp'|と|:filetype-plugin-on|も参照してください)
105 Netrw は url を使うことで他のマシンのファイルを透過的に扱うことができます
106 (|netrw-transparent|参照)。例えば、別のマシンにアカウントを持っていて、scp が
107 使えるなら、次のようにしてアクセスできます: >
109 vim scp://hostname/path/to/file
111 ssh/scp による接続を簡単にしたい場合は |netrw-ssh-hack| を確認してください。
113 ssh/scp ではなく ftp の場合はどうでしょうか? もちろん簡単にできます: >
115 vim ftp://hostname/path/to/file
117 ftp によるアクセスを簡単にしたい場合は <.netrc> ファイルを使ってください (あな
118 たの ftp がそれをサポートしているなら)。通常、それはユーザーのホームディレクト
119 リにあって、ユーザーだけが読み書きできるようなパーミッションになっています。中
122 machine HOSTNAME login USERID password "PASSWORD"
123 machine HOSTNAME login USERID password "PASSWORD"
125 default login USERID password "PASSWORD"
127 どのようなファイルがあるかを確認してからファイルを開きたい場合はブラウザを使い
128 ます。ローカルホストのファイルを見たい場合は単にディレクトリを開きます: >
131 vim /home/userid/path
133 リモートホストのファイルを見たい場合も単にディレクトリを開きます (ただしディレ
134 クトリ名の末尾に "/" を付けてください): >
137 vim ftp://hostname/path/to/dir/
139 詳細は |netrw-browse| を参照。
141 scp や ftp 以外のプロトコルもサポートされています。次の項 |netrw-externapp| で
142 は、それらの外部アプリケーションの使用方法を説明しています。
144 プラグインを有効にしているときに netrw だけを無効にしたい場合は、netrw のプラ
145 グインファイルと自動ロードファイルの両方が読み込まれないようにする必要がありま
146 す。<.vimrc> に次の設定を書いてください: >
148 :let g:loaded_netrw = 1
149 :let g:loaded_netrwPlugin = 1
152 ==============================================================================
153 3. Netrw リファレンス *netrw-ref* {{{1
155 Netrw は |netrw-start| で説明した scp や ftp 以外のプロトコルもサポートして
156 います。サポートされているのは dav、fetch、http などです。|netrw-externapp|
157 の一覧を見てください。各プロトコルには変数が関連付けられていて、変数にはそ
158 のプロトコルをサポートしている外部プログラムが設定されます。
160 外部プログラムとプロトコル *netrw-externapp* {{{2
163 -------- ---------------- -------------
164 dav: *g:netrw_dav_cmd* = "cadaver" if cadaver があるなら
165 dav: g:netrw_dav_cmd = "curl -o" elseif curl があるなら
166 fetch: *g:netrw_fetch_cmd* = "fetch -o" if fetch があるなら
167 ftp: *g:netrw_ftp_cmd* = "ftp"
168 http: *g:netrw_http_cmd* = "elinks" if elinks があるなら
169 http: g:netrw_http_cmd = "links" elseif links があるなら
170 http: g:netrw_http_cmd = "curl" elseif curl があるなら
171 http: g:netrw_http_cmd = "wget" elseif wget があるなら
172 http: g:netrw_http_cmd = "fetch" elseif fetch があるなら
173 rcp: *g:netrw_rcp_cmd* = "rcp"
174 rsync: *g:netrw_rsync_cmd* = "rsync -a"
175 scp: *g:netrw_scp_cmd* = "scp -q"
176 sftp: *g:netrw_sftp_cmd* = "sftp"
178 *g:netrw_http_xcmd* : http://... プロトコルで使用するオプションはこの
179 変数で指定できます。コマンドに合わせて設定を変更してください。
187 例えば、あなたのシステムに elinks がインストールされているとき、レンダ
188 リングされたテキストではなく、html のソースを見たい場合は、.vimrc で
189 let g:netrw_http_xcmd = "-source >" と設定するといいでしょう。
192 読み込み *netrw-read* *netrw-nread* {{{2
194 通常のコマンドで url を使うことができます。例: >
196 :e ftp://[user@]machine/path
201 :Nread "machine:path" uses rcp
202 :Nread "machine path" uses ftp w/ <.netrc>
203 :Nread "machine id password path" uses ftp
204 :Nread "dav://machine[:port]/path" uses cadaver
205 :Nread "fetch://[user@]machine/path" uses fetch
206 :Nread "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
207 :Nread "http://[user@]machine/path" uses http uses wget
208 :Nread "rcp://[user@]machine/path" uses rcp
209 :Nread "rsync://[user@]machine[:port]/path" uses rsync
210 :Nread "scp://[user@]machine[[:#]port]/path" uses scp
211 :Nread "sftp://[user@]machine/path" uses sftp
213 書き込み *netrw-write* *netrw-nwrite* {{{2
215 ファイルを保存するときにも url を使うことができます。例: >
217 :w ftp://[user@]machine/path
219 Nwrite コマンドも用意されています:
222 :Nwrite "machine:path" uses rcp
223 :Nwrite "machine path" uses ftp w/ <.netrc>
224 :Nwrite "machine id password path" uses ftp
225 :Nwrite "dav://machine[:port]/path" uses cadaver
226 :Nwrite "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
227 :Nwrite "rcp://[user@]machine/path" uses rcp
228 :Nwrite "rsync://[user@]machine[:port]/path" uses rsync
229 :Nwrite "scp://[user@]machine[[:#]port]/path" uses scp
230 :Nwrite "sftp://[user@]machine/path" uses sftp
233 スクリプト実行 *netrw-source* {{{2
235 スクリプトを実行するときにも url を使うことができます。例: >
237 :so ftp://[user@]machine/path
239 Nsource コマンドも用意されています:
242 :Nsource "dav://machine[:port]/path" uses cadaver
243 :Nsource "fetch://[user@]machine/path" uses fetch
244 :Nsource "ftp://[user@]machine[[:#]port]/path" uses ftp w/ <.netrc>
245 :Nsource "http://[user@]machine/path" uses http uses wget
246 :Nsource "rcp://[user@]machine/path" uses rcp
247 :Nsource "rsync://[user@]machine[:port]/path" uses rsync
248 :Nsource "scp://[user@]machine[[:#]port]/path" uses scp
249 :Nsource "sftp://[user@]machine/path" uses sftp
251 ディレクトリのファイル一覧表示 *netrw-dirlist* {{{2
253 ディレクトリを開くことでファイル一覧をブラウズできます: >
255 :e scp://[user]@hostname/path/
256 :e ftp://[user]@hostname/path/
258 リモートのディレクトリを開くときは末尾の "/" が必ず必要です (netrw は
259 それによってファイルのダウンロードかディレクトリのブラウズかを判断しま
262 Nread コマンドを使うこともできます:
264 :Nread [protocol]://[user]@hostname/path/
266 *netrw-login* *netrw-password*
267 USERID と PASSWORD の変更 *netrw-chgup* *netrw-userpass* {{{2
269 ftp を使うと user-id と password を入力するプロンプトが表示されます。
270 それらはグローバル変数の g:netrw_uid と s:netrw_passwd に記録されま
271 す。記録された ID とパスワードは次に ftp を使うときに再使用されます。
272 他の id/password を使う必要が出てきた場合は NetUserPass() 関数を呼び出
273 してください。パスワードの入力を省略したい場合は ftp が <.netrc> ファ
274 イルをサポートしているかどうか確認してください。|netrw-passwd| も参照
275 (ssh/scp でパスワードを省略したい場合は |netrw-ssh-hach| を参照)。
277 :NetUserPass [uid [password]] -- password入力(必要ならuidも)
278 :call NetUserPass() -- uid と password 入力
279 :call NetUserPass("uid") -- password 入力
280 :call NetUserPass("uid","password") -- uid と password 設定
282 NETRW の変数と設定 *netrw-variables* {{{2
283 (|netrw-browser-var| |netrw-protocol| |netrw-settings| |netrw-var| も参照)
285 Netrw にはたくさんの変数が用意されていて、好きなようにカスタマイズできます。
286 :NetrwSettings コマンド (|netrw-settings|参照) を使うと、現在の netrw の設定が
287 表示されます。ほとんどの設定は下記、または |netrw-browser-options|、そして
288 |netrw-externapp| で説明されています。
290 *b:netrw_lastfile* 最後に読み書きされたネットワークファイルがバッファごと
293 *g:netrw_chgwin* ファイルを開くときに使用するウィンドウの番号を指定す
297 *g:Netrw_funcref* ファイルを開くときに呼ばれる関数を指定する。まずファイ
298 ルが開かれ、それから指定された関数参照 (|Funcref|) が
302 *g:netrw_ftp* 変数が存在しない場合はデフォルト ftp 使用
303 =0 デフォルト ftp を使う (uid password)
304 =1 ftp の別方式を使う (user uid password)
305 ftp の使用に問題があるときにこの変数を設定して ftp の
308 *g:netrw_extracmd* 初期設定: なし
309 この変数に設定された文字列は ftp コマンドとして送信さ
313 *g:netrw_ftpmode* ="binary" (初期設定)
316 *g:netrw_ignorenetrc* =0 (linux と cygwin での初期設定)
317 =1 <.netrc> ファイルが機能しないのでそれを無視したい、
318 という場合にこの値を設定します (Windoes + cmd.exe での
321 *g:netrw_menu* =0 netrw のメニューを使う
322 =1 (初期設定) netrw のメニューを使わない
324 *g:netrw_nogx* この変数が存在する場合、"gx" マップは定義されません。
327 *g:netrw_uid* (ftp) user-id セッションごとに記録される
328 *s:netrw_passwd* (ftp) password セッションごとに記録される
330 *g:netrw_preview* =0 (初期設定) プレビューウィンドウを水平分割で表示する
331 =1 プレビューウィンドウを垂直分割で表示する。
332 "直前のウィンドウ" (|netrw-P|参照) にも作用します。
334 *g:netrw_scpport* = "-P" : scp のポート番号を設定するためのオプション
335 *g:netrw_sshport* = "-p" : ssh のポート番号を設定するためのオプション
337 *g:netrw_sepchr* =\0xff
338 =\0x01 for enc == euc-jp (この値を使った方がいい文字
341 内部処理で優先番号とファイル名を区切るのに使われる。
344 *g:netrw_silent* =0 : 普通に転送処理をする
345 =1 : 静か (silent) に転送処理をする
347 *g:netrw_use_errorwindow* =1 : netrw のメッセージ表示に別ウィンドウを使う。
348 メッセージが確実に表示されます (初期設定)。
349 =0 : netrw のメッセージ表示に echoerr を使う。
350 表示されたメッセージを確認できないことがあるか
351 もしれませんが、ウィンドウを閉じる必要がありま
354 *g:netrw_win95ftp* =1 Win95 で、OS 付属の ftp が出力の末尾に書き出す四行
356 =0 普通に ftp を使用する (末尾の行を削除しない)
358 *g:netrw_cygwin* =1 windows で cygwin 付属の scp を想定する。また、ネッ
359 トワークブラウジングで ls を使っての時間とサイズに
360 よるソートを可能にする (windowsでの初期設定)。
361 =0 Windows の scp が Windows 形式のパスを扱えると想定
362 する。ネットワークブラウジングでは ls ではなく dir
364 このオプションは unix では無視されます。
366 *g:netrw_use_nt_rcp* =0 WinNT、Win2000、WinXP の rcp を使わない
367 =1 WinNT の rcp をバイナリモードで使う (初期設定)
371 ほとんどのプロトコルではパスはユーザーディレクトリからの相対パスです。
372 (所定のディレクトリからの相対パスとして扱うプロトコルもあります)
374 example: vim scp://user@host/somefile
375 example: vim scp://user@host/subdir1/subdir2/somefile
377 "somefile" は "user" のホームディレクトリの中です。ルートからのパスを指定した
380 example: vim scp://user@host//somefile
381 example: vim scp://user@host//subdir1/subdir2/somefile
384 ==============================================================================
385 4. ネットワークファイル転送 *netrw-xfer* {{{1
387 Vim におけるネットワークファイルの転送機能は Vim スクリプトで実装されたプラグ
388 インで提供されています (<netrw.vim>)。これは rcp、ftp or ftp+<.netrc>、scp、
389 fetch、dav/cadaver、rsync、sftp などを使ってネットワークファイルの読み書きを実
392 http については wget or fetch による読み込みだけがサポートされています。
394 <netrw.vim> は標準プラグインです。Vim と様々なファイル転送プログラムをつなぐ役
395 割をします。オートコマンドイベント (BufReadCmd、FileReadCmd、BufWriteCmd) を
396 使って、url 指定によるファイルの読み書き処理を横取りします。 >
398 例: vim ftp://hostname/path/to/file
400 コロンより前の文字列がプロトコルを示します (この例では ftp)。<netrw.vim> スク
401 リプトは、実際にファイルを転送する外部プログラム (ftp、scp、など) のコマンドを
402 作成します。ファイルは一時ファイル (Unix/Linux では /tmp/...) を経由して読み書
403 きされます。一時ファイルは <netrw.vim> によって後始末されます。
405 *netrw-putty* *netrw-pscp* *netrw-psftp*
406 プロトコルを扱う外部プログラムは変数を設定することで変更できます (例えば、scp
407 なら g:netrw_scp_cmd を設定します。初期設定は "scp -q" です)。例えば、PuTTY を
410 let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch'
411 let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
413 putty、pscp、psftp 等に関する説明は |netrw-p8| 参照。
415 Ftp (古いプロトコル) は多くの実装に恵まれました。しかし残念ながら、いまいちな
416 実装もあります (例えばファイル末尾にノイズが付くなど)。そのような実装を使う場
417 合は NetReadFixup() 関数を定義することで、ftp 読み込み後にノイズを除去すること
418 ができます。いくつかの Unix システム (FreeBSDなど) では "fetch" というユーティ
419 リティが提供されていて、それはノイズがないので <netrw.vim> で使うには適してい
420 ます。したがって、"fetch" の実行ファイルが存在する場合は、ftp://... (と
421 http://...) の読み込みに "fetch" が使用されます。詳細は |netrw-var| 参照。
423 rcp、scp、sftp、http ではネットワークファイルを透過的に扱えます。例:
425 vim rcp://[user@]machine/path
426 vim scp://[user@]machine/path
428 ftp が <.netrc> をサポートしていて、マシン名、ユーザー名、パスワードが設定され
429 ているなら、ftp でも透過的にファイルを扱えます。ただし、ftpが自動的に <.netrc>
430 ファイルを使うようになっている必要があります。
432 vim ftp://[user@]machine[[:#]portnumber]/path
434 ftp を使うときは userid と password を聞かれることがあります。パスワードの入力
435 は無表示で行われます (画面には入力した文字の代わりにアスタリスクが表示され
436 る)。userid と password は記録され、次に同じマシンにアクセスするときにはプロン
440 +=================================+============================+============+
441 | Reading | Writing | Uses |
442 +=================================+============================+============+
444 | dav://host/path | | cadaver |
445 | :Nread dav://host/path | :Nwrite dav://host/path | cadaver |
446 +---------------------------------+----------------------------+------------+
448 | davs://host/path | | cadaver |
449 | :Nread davs://host/path | :Nwrite davs://host/path | cadaver |
450 +---------------------------------+----------------------------+------------+
452 | fetch://[user@]host/path | | |
453 | fetch://[user@]host:http/path | Not Available | fetch |
454 | :Nread fetch://[user@]host/path| | |
455 +---------------------------------+----------------------------+------------+
457 | file:///* | file:///* | |
458 | file://localhost/* | file://localhost/* | |
459 +---------------------------------+----------------------------+------------+
460 | FTP: (*3) | (*3) | |
461 | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) |
462 | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc |
463 | :Nread host path | :Nwrite host path | ftp+.netrc |
464 | :Nread host uid pass path | :Nwrite host uid pass path | ftp |
465 +---------------------------------+----------------------------+------------+
466 | HTTP: wget is executable: (*4) | | |
467 | http://[user@]host/path | Not Available | wget |
468 +---------------------------------+----------------------------+------------+
469 | HTTP: fetch is executable (*4) | | |
470 | http://[user@]host/path | Not Available | fetch |
471 +---------------------------------+----------------------------+------------+
473 | rcp://[user@]host/path | rcp://[user@]host/path | rcp |
474 +---------------------------------+----------------------------+------------+
476 | rsync://[user@]host/path | rsync://[user@]host/path | rsync |
477 | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync |
478 | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp |
479 +---------------------------------+----------------------------+------------+
481 | scp://[user@]host/path | scp://[user@]host/path | scp |
482 | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) |
483 +---------------------------------+----------------------------+------------+
485 | sftp://[user@]host/path | sftp://[user@]host/path | sftp |
486 | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) |
487 +=================================+============================+============+
489 (*1) 絶対パスの指定には scp://machine//path を使う。
491 (*2) <.netrc> がある場合は、使用する ftp クライアントがそれをサポート
492 していると判断される。ない場合は user-id と password が聞かれる。
494 (*3) ftp では、"machine" は machine#port や machine:port でも可。
497 (*4) http では、wget が利用可能ならそれが使われる。あるいは fetch が利
500 :Nread コマンドと :Nwrite コマンドには複数のファイル名を指定できます。
505 <.netrc> ファイル (普通はホームディレクトリある) には、ホスト (マシン) と
506 userid/password を関連付ける設定を書くことができます。
508 <.netrc> ファイルの一般的な書式は次のとおりです。Unix の ftp は通常は <.netrc>
509 をサポートしています。Windows の ftp は通常は <.netrc> をサポートしてません。
511 machine {full machine name} login {user-id} password "{password}"
512 default login {user-id} password "{password}"
514 ftp が自動的に <.netrc> ファイルを使うようになっている必要があります。<.netrc>
515 ファイルが存在する場合は、ftp 転送において user-id と passwordは聞かれません。
518 このファイルにはパスワードが含まれているので、他の誰もファイルを読めな
519 いようにしてください。ほとんどのプログラムは他人が読むことができる
520 .netrc ファイルの使用を拒否します。システム管理者は常にそのファイルを
521 読めるということを忘れずに。例えば、Linux/Unix では次のように設定しま
527 ftp でパスワードが必要なときは Vim の組み込み関数 |inputsecret()| による非表示
528 入力が使われます。パスワードを設定した後でそれを変更したい場合は
529 |netrw-uidpass| を参照してください。
531 残念ながら、scp にパスワードを渡す方法はありません。scp を使うときはファイルの
532 転送の度にパスワードを入力する必要があります。この問題については
533 |netrw-ssh-hack| が役に立つかもしれません。
536 ==============================================================================
537 5. netrw の有効化 *netrw-activate* {{{1
539 ネットワークファイル転送は |'nocompatible'| が設定されていればデフォルトで利用
540 可能です。netrw のスクリプトファイルはシステムのランタイムディレクトリにありま
541 す。Vim の起動時には plugin/netrwPlugin.vim だけが読み込まれます。メインスクリ
542 プトの autoload/netrw.vim は、実際に netrw が使用されたときに読み込まれます。
543 次の (最低限の) 設定を <.vimrc> ファイルに書いておくことをお勧めします: >
547 filetype plugin indent on
551 ==============================================================================
552 6. 透過的なファイル編集 *netrw-transparent* {{{1
554 ネットワークファイルの転送は、ファイルを読み書きするときに |:autocmd| の
555 |BufReadCmd|、|BufWriteCmd|、|SourceCmd| イベントによって透過的に処理されま
556 す。それによって、ローカルファイルと同じくらい簡単にネットワークファイルを読み
557 込み、書き込み、スクリプト実行することができます。 >
559 vim ftp://[user@]machine/path
563 netrw のようなプラグインの使用方法は |netrw-activate| を参照してください。
566 ==============================================================================
567 7. Ex コマンド *netrw-ex* {{{1
569 一般的な読み込み/書き込みコマンドがサポートされています。それ以外のコマンドも
570 いくつかあります。|netrw-transparent| で説明したように、通常はこれらのコマンド
571 を使う必要はありません。次のように使ってください (|netrw-urls|参照): >
575 以下の説明では、{netfile} はリモートファイルの url を示します。
578 指定した範囲の行を b:netrw_lastfile が示すファイルに保存する。
580 :[range]Nw[rite] {netfile} [{netfile}]...
581 指定した範囲の行を {netfile} に保存する。
584 b:netrw_lastfile が示すファイルをカレントバッファに読み込む。
586 :Nr[ead] {netfile} {netfile}...
587 {netfile} を現在行の下に読み込む。
590 {netfile} をスクリプトとして実行する。
591 リモートの .vimrc を使って vim を起動するには、次のようにしま
592 す (実際にはすべて一行です) (tnx to Antoine Mechelynck) >
594 --cmd "runtime plugin/netrwPlugin.vim"
595 --cmd "source scp://HOSTNAME/.vimrc"
598 g:netrw_uid と s:netrw_passwd が存在しない場合は、入力プロンプ
601 :call NetUserPass("userid")
602 g:netrw_uid を設定します。password がない場合は、入力プロンプ
605 :call NetUserPass("userid","passwd")
606 g:netrw_uid と s:netrw_passwd を設定します。user-idとpassword
607 は ftp 転送で使われます。user-id と password に空文字列 ("")
611 このコマンドは |netrw-settings| で説明します。netrw の設定を表
612 示し、netrw の動作を変更するために使用されます。
615 ==============================================================================
616 8. 変数とオプション *netrw-options* *netrw-var* {{{1
618 (netrw ブラウザの設定に関しては |netrw-browser-var| を見てください)
620 <netrw.vim> スクリプトでは、ファイル転送の動作を変更するためのオプションとし
621 て、いくつかの変数が定義されています。通常、それらの変数を <.vimrc> ファイルの
622 中で設定して使います。(|netrw-settings| |netrw-protocol| も参照)
630 -------------- -----------------------------------------------
632 b:netrw_col カーソル位置を保持する (NetWrite使用時)
633 g:netrw_cygwin =1 windows の scp が cygwin のものと想定する
635 =0 windows の scp が windows スタイルのパスを
637 g:netrw_ftp =0 デフォルト ftp を使う (uid password)
638 =1 ftp の別方式を使う (user uid password)
639 g:netrw_ftpmode ="binary" (初期設定)
641 g:netrw_ignorenetrc =1 (初期設定)
642 <.netrc> を持っていて、しかしそれを使いたく
643 ない場合にこの変数を設定する。この変数は値
645 b:netrw_lastfile 最近使用された method/machine/path を保持する
646 b:netrw_line 現在の行番号を保持する (NetWrite使用時)
647 g:netrw_passwd ftp の現在のパスワードを保持する
648 g:netrw_silent =0 普通にファイル転送する
649 =1 静か (silent) にファイル転送する
650 g:netrw_uid ftp の現在の user-id を保持する
651 g:netrw_use_nt_rcp =0 WinNT/2K/XP の rcp を使わない (初期設定)
652 =1 WinNT/2K/XP の rcp を binary mode で使う
653 g:netrw_win95ftp =0 win95/98/ME/etc で unix-style ftp を使う
655 -----------------------------------------------------------------------
657 netrw は次の変数を一時的に使用します。
663 -------- ------------------------------------
665 g:netrw_method rcp/ftp+.netrc/ftp を示すインデックス
666 g:netrw_machine 入力から得られたマシン名を保持
667 g:netrw_fname アクセスするファイル名を保持 >
668 ------------------------------------------------------------
672 netrw は複数のプロトコルをサポートしています。それぞれのプロトコルは以下の変数
673 を使って呼び出されます。変数はユーザーが変更することができます。
675 ------------------------
677 ------------------------
679 ---------- -------- -------------- ---------------------------
681 netrw_ftp 変数 =変数なし useridを"user userid"で設定
682 =0 useridを"user userid"で設定
683 =1 useridを"userid"で設定
684 NetReadFixup 関数 =変数なし 変更しない
688 g:netrw_dav_cmd 変数 ="cadaver" if cadaver があるなら
689 g:netrw_dav_cmd 変数 ="curl -o" elseif curl があるなら
690 g:netrw_fetch_cmd 変数 ="fetch -o" if fetch があるなら
691 g:netrw_ftp_cmd 変数 ="ftp"
692 g:netrw_http_cmd 変数 ="fetch -o" if fetch があるなら
693 g:netrw_http_cmd 変数 ="wget -O" else if wget があるなら
694 g:netrw_list_cmd 変数 ="ssh USEPORT HOSTNAME ls -Fa"
695 g:netrw_rcp_cmd 変数 ="rcp"
696 g:netrw_rsync_cmd 変数 ="rsync -a"
697 g:netrw_scp_cmd 変数 ="scp -q"
698 g:netrw_sftp_cmd 変数 ="sftp" >
699 -------------------------------------------------------------------------
703 |g:netrw_ftp_cmd| と |g:netrw_sftp_cmd| は ftp プロトコルを処理するための外部
704 プログラムを指定するオプションです。コマンドラインオプションを含めることもでき
705 ます (passive mode の -p など)。
707 ブラウジングは |g:netrw_list_cmd| を使ってサポートされます。"HOSTNAME" と書か
710 |g:netrw_ftp| と |netrw-fixup| の二つのオプションは、問題のある ftp クライアン
711 トを補助します。これらのオプションの使用方法を理解してもらうため、netrw が ftp
712 からファイルを読み込むときの仕組みを少し解説します。
714 ftp を使うとき、netrw は次のどちらかのテキストを生成して一時ファイルに書き込み
717 g:netrw_ftpが未定義、または1以外 g:netrw_ftpに1が設定されている
718 -------------------------------- ------------------------------
720 open machine [port] open machine [port]
721 user userid password userid password
722 [g:netrw_ftpmode] password
723 [g:netrw_extracmd] [g:netrw_ftpmode]
724 get filename tempfile [g:netrw_extracmd]
725 get filename tempfile >
726 ---------------------------------------------------------------------
728 |g:netrw_ftpmode| と |g:netrw_extracmd| は任意です。
730 netrw は生成したテキストを次のようなコマンドでフィルタします: >
732 :%! {g:netrw_ftp_cmd} -i [-n]
734 g:netrw_ftp_cmd は通常は "ftp" です
736 -n netrc を使わない。Method #3 を使う (<.netrc>無しでftp使用)
737 訳注: Method #3 は |netrw-fixup| の a:method == 3
739 <.netrc> が存在するとき、userid と password の入力を省略するためにそれが使われ
740 ます。転送されたファイルは一時ファイルに保存されます。一時ファイルはメインの
741 ウィンドウに読み込まれ、そして削除されます。
743 使用する ftp が "user" コマンドを受け付けず、直接に userid を入力する必要があ
744 る場合は、"let netrw_ftp=1" という設定を <.vimrc> に書いてください。
747 未承認サーバーのための SSL 証明書ダイアログを何とかするには、その証明書を取っ
748 てきて /usr/ssl/cert.pem に置いてください。この操作によってサーバーが信用済み
751 *netrw-fixup* *netreadfixup*
752 使用している ftp が何らかの理由で余計な出力を出す場合 (例えば認証メッセージな
753 ど)、NetReadFixup() 関数を書いてください:
755 function! NetReadFixup(method,line1,line2)
756 " a:line1: first new line in current file
757 " a:line2: last new line in current file
758 if a:method == 1 "rcp
759 elseif a:method == 2 "ftp + <.netrc>
760 elseif a:method == 3 "ftp + machine,uid,password,filename
761 elseif a:method == 4 "scp
762 elseif a:method == 5 "http/wget
763 elseif a:method == 6 "dav/cadaver
764 elseif a:method == 7 "rsync
765 elseif a:method == 8 "fetch
766 elseif a:method == 9 "sftp
771 NetReadFixup() 関数は定義するだけで呼び出されるようになります。これにより読み
772 込みの処理をカスタマイズできます。例えば、<netrw.vim> の中では Windows 95 ftp
773 の問題を回避するために、この関数が定義されています。なぜか Windows 95 の ftp
774 は転送ファイルの末尾に 4 行の空行を出力するので、それを取り除いています。
775 <netrw.vim> のコードは次のようなものです:
777 if has("win95") && g:netrw_win95ftp
778 fun! NetReadFixup(method, line1, line2)
779 if method == 3 " ftp (no <.netrc>)
780 let fourblanklines= line2 - 3
781 silent fourblanklines.",".line2."g/^\s*/d"
787 ==============================================================================
788 9. ブラウジング *netrw-browsing* *netrw-browse* *netrw-help* {{{1
789 *netrw-browser* *netrw-dir* *netrw-list*
791 ブラウジングの紹介 *netrw-intro-browse* {{{2
792 (クイックリファレンス: |netrw-quickmaps| |netrw-quickcoms|)
794 Netrw はローカルシステムとリモートホストのディレクトリのブラウジングをサポート
795 しています。ブラウジングの機能は、ファイルとディレクトリの一覧表示、ディレクト
796 リへの移動、ファイルを開く、ファイルとディレクトリの削除、ディレクトリの作成、
797 ファイルとディレクトリの移動 (名前の変更)、ファイルとディレクトリのコピー、な
798 どです。ファイルを選択し、任意のシステムコマンドを実行できます。Netrw ブラウザ
799 には以前のエクスプローラプラグインのマップとコマンドが実装されていて、それはリ
800 モートディレクトリに対しても実行できます。ただし、細かい違いはあります (グロー
801 バル変数の名前など)。ディレクトリをブラウズするには単にそれを開きます。 >
805 vim c:\your\directory\
807 (関連情報: |netrw-cr| |netrw-o| |netrw-p| |netrw-P| |netrw-t|
808 |netrw-mf| |netrw-mx| |netrw-D| |netrw-R| |netrw-v| )
810 Netrw リモートファイル/ディレクトリブラウザは ssh と ftp の二つのプロトコルを
811 サポートしています。例えば url のプロトコルが ftp なら、netrw は ftp を使って
812 リモートブラウジングを実行します。ftp と ssh 以外のプロトコルを指定した場合
815 Netrw リモートディレクトリブラウザを使うには、ファイルを開くときに名前の末尾に
816 スラッシュを付けます。ディレクトリの表示要求として解釈されます: >
818 vim [protocol]://[user@]hostname/path/
820 [protocol] は scp か ftp です。例: >
822 vim ftp://ftp.home.vim.org/pub/vim/
824 ローカルディレクトリの場合は末尾のスラッシュは必要ではありません。付け忘れがよ
825 くあるのでもう一度言いますが、リモートディレクトリをブラウズするときは url の
828 ssh か scp でリモートディレクトリを表示するたびにパスワードを入力したくない場
829 合は |netrw-ssh-hack| を参照してください。ftp でパスワードの入力を省略したい場
830 合は |netrw-netrc| を参照してください (ftp がそれをサポートしているなら)。
832 次の操作でファイル一覧の表示方法を変更できます:
834 * "i" キーで表示スタイルを変更できます (|netrw-i|)。
835 四つのスタイルがあります: thin、long、wide、tree。
837 * ファイルを隠す (xyz~ みたいなファイルを表示したくないですよね?) に
838 は |netrw-ctrl-h| を参照してください。
840 * s を押すと name、time、size の順で並べ替えできます。
842 netrw で実行できる操作の一覧は |netrw-browse-cmds| を参照してください。
844 *netrw-getftype* *netrw-filigree* *netrw-ftype*
845 ローカルファイルを一覧表示するときは、|getftype()| 関数を使って、ファイルタイ
854 装飾文字は |g:netrw_sort_sequence| にも影響します。
857 QUICK HELP *netrw-quickhelp* {{{2
858 (ctrl-] を押すと項目を選択できます) ~
859 ブラウジングの紹介..............................|netrw-intro-browse|
860 クイックリファレンス: マップ..................|netrw-quickmap|
861 クイックリファレンス: コマンド................|netrw-browse-cmds|
863 隠すファイルを設定する........................|netrw-ctrl-h|
864 ファイル/ディレクトリを隠す...................|netrw-a|
865 拡張子で表示/非表示...........................|netrw-mh|
866 ドットファイルを隠す..........................|netrw-gh|
868 表示スタイルの選択 (thin/long/wide/tree)......|netrw-i|
869 スタイル設定変数..............................|g:netrw_liststyle|
870 ファイル一覧取得に使われるシェルコマンド......|g:netrw_list_cmd|
871 ファイル情報表示..............................|netrw-qf|
873 ソートスタイルの選択 (name/time/size).........|netrw-s|
874 ソートの優先順位を設定........................|netrw-S|
875 ソートオプション..............................|g:netrw_sort_options|
876 ソート優先順位設定変数........................|g:netrw_sort_sequence|
877 逆順ソート....................................|netrw-r|
880 *netrw-quickmap* *netrw-quickmaps*
881 クイックリファレンス: マップ *netrw-browse-maps* {{{2
883 ------ ---------- ------
885 ------ ---------- ------
887 <cr> ディレクトリに移動、またはファイルを開く |netrw-cr|
888 <del> ファイル/ディレクトリを削除する |netrw-del|
889 - 一つ上のディレクトリに移動する |netrw--|
890 a 隠しファイルの表示を切り替える |netrw-a|
892 hiding (g:netrw_list_hide にマッチしたファイルを表示しない)
893 showing (g:netrw_list_hide にマッチしたファイルのみ表示する)
894 c 表示中のディレクトリをカレントディレクトリにする |netrw-c|
895 C ファイルを開くウィンドウを指定する |netrw-C|
896 d ディレクトリを作成する |netrw-d|
897 D ファイル/ディレクトリ(複数可)を削除する |netrw-D|
898 gb 前のブックマークされたディレクトリに移動 |netrw-gb|
899 gh ドットファイルの表示/非表示を切り替える |netrw-gh|
900 gi ファイル情報を表示する |netrw-qf|
901 <c-h> 隠しファイルのパターンを編集する |netrw-ctrl-h|
902 i 表示方法を切り替える (thin, long, wide, tree) |netrw-i|
903 <c-l> 最新の情報に更新する |netrw-ctrl-l|
904 mb カレントディレクトリをブックマークする |netrw-mb|
905 mc マークしたファイルをターゲットディレクトリにコピー |netrw-mc|
906 md マークしたファイルの差分を表示する (3ファイルまで) |netrw-md|
907 me マークしたファイルを引数リストに入れ編集する |netrw-me|
908 mf ファイルをマークする |netrw-mf|
909 mh マークしたファイルの拡張子を隠しリストに登録/解除 |netrw-mh|
910 mm マークしたファイルをターゲットディレクトリに移動 |netrw-mm|
911 mp マークしたファイルを印刷する |netrw-mp|
912 mr 正規表現 (|regexp|) を使ってファイルをマークする |netrw-mr|
913 mt 表示中のディレクトリをターゲットディレクトリにする |netrw-mt|
914 mT マークしたファイルに対して ctags を実行 |netrw-mT|
915 mu すべてのマークを解除する |netrw-mu|
916 mx マークしたファイルに対して任意のシェルコマンドを実行 |netrw-mx|
917 mz マークしたファイルを圧縮/伸長する |netrw-mz|
918 o カーソル位置のファイル/ディレクトリを |netrw-o|
920 O カーソル位置のファイルを取得する |netrw-O|
921 p ファイルをプレビューする |netrw-p|
922 P 直前に使用していたウィンドウで開く |netrw-P|
923 q ブックマークと履歴の一覧を表示する |netrw-qb|
924 r ソート順を逆にする |netrw-r|
925 R ファイル/ディレクトリ(複数可)の名前を変える |netrw-R|
926 s ソート方法を変える: name, time, file size |netrw-s|
927 S 名前ソート時の拡張子の優先順位を設定する |netrw-S|
928 t カーソル位置のファイル/ディレクトリを新しいタブで開く|netrw-t|
929 u 最近訪れたディレクトリに移動する |netrw-u|
930 U 次に訪れたディレクトリに移動する |netrw-U|
931 v カーソル位置のファイル/ディレクトリを |netrw-v|
933 x 関連付けられたプログラムでファイルを表示する |netrw-x|
935 % 表示しているディレクトリで新しいファイルを開く |netrw-%|
937 <leftmouse> (gvim only) ファイルを選択して <cr> を押したのと同じ。
939 <middlemouse> (gvim only) ファイルを選択して P を押したのと同じ。
941 <rightmouse> (gvim only) 選択したファイル/ディレクトリを削除する。
942 <2-leftmouse> (gvim only) 使用できる条件:
944 * |g:netrw_retmap| == 1
945 * netrw がロードされた時点で <2-leftmouse> に対する
947 netrw ブラウザウィンドウに戻る。|g:netrw_retmap|参照。
948 <s-leftmouse> (gvim only) mf と同じ。ファイルをマークする。
950 *netrw-quickcom* *netrw-quickcoms*
951 クイックリファレンス: コマンド *netrw-explore-cmds* *netrw-browse-cmds* {{{2
952 :NetrwClean[!] ...........................................|netrw-clean|
953 :NetrwSettings ...........................................|netrw-settings|
954 :Explore[!] [dir] カレントファイルのディレクトリを開く...|netrw-explore|
955 :Hexplore[!] [dir] 水平分割 & Explore.....................|netrw-explore|
956 :Nexplore[!] [dir] 垂直分割 & Explore.....................|netrw-explore|
957 :Pexplore[!] [dir] 垂直分割 & Explore.....................|netrw-explore|
958 :Rexplore Explorer に戻る........................|netrw-explore|
959 :Sexplore[!] [dir] ウィンドウ分割 & Explore...............|netrw-explore|
960 :Texplore[!] [dir] タブ & Explore.........................|netrw-explore|
961 :Vexplore[!] [dir] 垂直分割 & Explore.....................|netrw-explore|
964 *netrw-mb* *netrw-bookmark* *netrw-bookmarks*
965 次のコマンドでディレクトリをブックマークできます >
969 ブックマークは $HOME/.netrwbook に保存されます。ブックマークは常にソートされま
973 |netrw-gb| ブックマークに戻る (移動する)
974 |netrw-mB| ブックマークを削除する
975 |netrw-qb| ブックマークを一覧表示する
978 ブラウジング *netrw-cr* {{{2
980 ブラウジングは簡単です。ファイルまたはディレクトリの上にカーソルを移動して、
981 <cr> (リターンキー) を押すとファイルが開きます。ディレクトリを開くとそのファイ
982 ル一覧が表示されます。ファイルを開くときには一覧表示で使われたプロトコルが使用
985 警告: 一覧表示には四つの方法があります (|netrw-i|参照)。long/wide 表示では二
986 つ以上のスペースでファイル名/ディレクトリ名を区切るので、ファイル名に二つ以
987 上のスペースが含まれている場合、あるいは名前の末尾にスペースが付いている場合
988 は、表示方法を "thin" にしてからファイルを選択してください。
990 |g:netrw_browse_split| オプション (初期設定は0) を設定すると、ファイルを開くと
991 きの動作を、新しいウィンドウやタブを開くように変更できます。設定が 1 か 2 な
992 ら、ウィンドウはそれぞれ水平分割、垂直分割されます。設定が 3 なら、新しいタブ
996 gui (gvim) では <leftmouse> (左クリック) でファイルを選択できます。また、
998 *|g:netrw_retmap| == 1 (初期設定は0)
1000 * netrw がロードされた時点で <2-leftmouse> に対するマップが定義されていない
1002 以上の条件を満たすとき、左ダブリクリックで元の netrw ブラウザウィンドウに戻る
1005 ブラウジング、特にリモートブラウジングを効率よくするため、ディレクトリのファイ
1006 ル一覧バッファは再利用されます。この動作は |g:netrw_fastbrowse| 変数で制御でき
1007 ます。低速ブラウジング (バッファ再利用なし)、中速ブラウジング (リモートディレ
1008 クトリのみバッファ再利用)、高速ブラウジング (可能な限りバッファを再利用)、から
1009 選択できます。バッファ再利用の代償として、何か変更があった (例えば新しいファイ
1010 ルが作成された) 場合でも、表示されるファイル一覧は古いままです。最新の情報に更
1011 新するには ctrl-L (|netrw-ctrl-l|参照) を押してください。
1014 関連トピック: |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
1015 関連設定: |g:netrw_browse_split| |g:netrw_fastbrowse|
1016 |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
1017 |g:netrw_ftp_timelist_cmd| |g:netrw_ssh_cmd|
1018 |g:netrw_ssh_browse_reject| |g:netrw_use_noswf|
1021 水平分割ウィンドウを使ったブラウジング *netrw-o* *netrw-horiz* {{{2
1023 <cr> でファイル/ディレクトリを開くことができますが、代わりに "o" マップを使え
1024 ばウィンドウを分割して開くことができます。ウィンドウは水平分割されます。(垂直
1027 通常、o キーを押すと新しいウィンドウが上に分割されます。下に分割したい場合は
1028 <.vimrc> の中で次のように設定してください:
1030 let g:netrw_alto = 1
1032 (|netrw-t| と|netrw-v| も参照)
1034 一つのディレクトリには一つのバッファが使われます。"o" で表示済みのサブディレク
1035 トリを開くとウィンドウは分割されますが、同じバッファが再び表示されます。
1037 関連設定: |g:netrw_alto| |g:netrw_winsize|
1040 タブを使ったブラウジング *netrw-t* {{{2
1042 <cr> でファイル/ディレクトリを開くことができますが、代わりに "t" マップを使え
1043 ばそれを新しいタブで開くことができます。(|netrw-o| と |netrw-v| も参照)
1046 垂直分割ウィンドウを使ったブラウジング *netrw-v* {{{2
1048 <cr> でファイル/ディレクトリを開くことができますが、代わりに "v" マップを使え
1049 ばウィンドウを分割して開くことができます。ウィンドウは垂直分割されます。(水平
1052 通常、v キーを押すと新しいウィンドウが左に分割されます。右に分割したい場合は
1053 <.vimrc> の中で次のように設定してください:
1055 let g:netrw_altv = 1
1057 (|netrw-t| と|netrw-v| も参照)
1059 一つのディレクトリには一つのバッファが使われます。"v" で表示済みのサブディレク
1060 トリを開くとウィンドウは分割されますが、同じバッファが再び表示されます。
1062 関連設定: |g:netrw_altv| |g:netrw_winsize|
1064 一覧表示スタイル変更 *netrw-i* {{{2
1066 "i" マップを使うと表示方法が thin, long, wide, tree と、順番に切り替わります。
1068 short 形式ではファイル/ディレクトリの名前だけが表示されます。
1070 long 形式は、リモートディレクトリの場合は ssh 経由で "ls" コマンドを実行した結
1071 果に基づいて表示され、ローカルディレクトリの場合はファイル名、ファイルサイズ
1072 (バイト単位)、最終変更日時が表示されます。long 形式では末尾にスペースが付いた
1073 ファイル名を扱うことができません。そのようなファイルがあるときは thin 形式を
1076 wide 形式では二つ以上のスペースを使ってファイル名を区切って表示します。この表
1077 示形式では、二つ以上の連続したスペースが含まれているファイル名、または末尾にス
1078 ペースが付いているファイル名を扱うことができません。そのような場合は thin 形式
1079 を使ってください。wide 形式は最もコンパクトな表示形式です。
1081 tree 形式ではトップディレクトリに続いてファイル/ディレクトリが名前の前に "|"
1082 を付けて表示されます。ディレクトリの名前の所で <cr> キーを押すと、そのディレク
1083 トリを開いたり閉じたりできます。tree 形式の表示には一つのバッファが使われま
1084 す。"v" や "o" でサブディレクトリを開くと、同じバッファが表示されます。
1086 関連設定: |g:netrw_liststyle| |g:netrw_maxfilenamelen|
1087 |g:netrw_timefmt| |g:netrw_list_cmd|
1090 ブックマークしたディレクトリに移動 *netrw-gb* {{{2
1092 ブックマークしたディレクトリに移動するには、次のコマンドを使います。
1096 カウントを付けてブックマークを指定することができます。
1099 |netrw-mB| ブックマークを削除する
1100 |netrw-gb| ブックマークに戻る (移動する)
1101 |netrw-qb| ブックマークを一覧表示する
1104 前方のディレクトリに移動 *netrw-u* *netrw-updir* {{{2
1106 ディレクトリを移動するとき (カレントセッションで新規の場合)、そのディレクトリ
1107 は、最近表示したディレクトリの履歴リストに保存されます (g:netrw_dirhistmax が
1108 0 でない場合に限る。初期設定は 10)。"u" マップを使用すると、前方のディレクトリ
1109 に移動できます。反対に移動したい場合は |netrw-U| を参照。
1112 後方のディレクトリに移動 *netrw-U* *netrw-downdir* {{{2
1114 "U" マップを使用すると、後方のディレクトリに移動できます。このマップは "u"
1115 マップの反対です (|netrw-u|参照)。q マップを使用するとブックマークと履歴の一覧
1116 を表示できます (|netrw-qb|参照)。
1119 NETRW CLEAN *netrw-clean* *:NetrwClean*
1121 :NetrwClean を使うと、ホームディレクトリから netrw を削除できます。正確には、
1122 |'runtimepath'| の最初のディレクトリから削除します。
1124 :NetrwClean! を使うと、|'runtimepath'| のすべてのディレクトリから netrw を削除
1127 どちらのコマンドも、本当に削除していいかどうかを確認するダイアログが最初に表示
1128 されます。ファイルを削除する権限がない場合はエラーメッセージが表示されます。
1131 ユーザー定義関数でブラウジングをカスタマイズ *netrw-x* *netrw-handler* {{{2
1132 (|netrw_filehandler|も参照)
1134 html, gif, jpeg, (word/office) doc などのファイルは専用ハンドラ (コンピュータ
1135 にあらかじめ備わっているようなツール) で処理するのが一番です。
1136 Netrw ではそのような専用ハンドラの呼び出しをサポートしています: >
1138 * ファイル一覧表示中に "x" キーを押す
1139 * ファイルを開いているときに、ファイル名の上で gx を押す
1140 < (|g:netrw_nogx| が設定されている場合は使えません)
1142 Netrw は次の方法で専用ハンドラを決定します:
1144 * |g:netrw_browsex_viewer| が設定されているときは、それを使ってファイルを開
1145 きます。例えば次のような設定が便利です (<.vimrc>で設定する): >
1147 :let g:netrw_browsex_viewer= "kfmclient exec"
1149 :let g:netrw_browsex_viewer= "gnome-open"
1151 g:netrw_browsex_viewer が '-' のときは netrwFileHandler() が最初に呼ばれま
1152 す (|netrw_filehandler|参照)。
1154 * Windows 32 or 64 では、url と FileProtocolHandler dll が使われます。
1155 * Gnome (with gnome-open): gnome-open が使われます。
1156 * KDE (with kfmclient) : kfmclient が使われます。
1157 * Mac OS X : open が使われます。
1158 * その他では netrwFileHandler プラグインが使われます。
1160 これらの方法ではファイルを処理するためのアプリケーションは拡張子によって決めら
1161 れます。例えば OpenOffice (*.sfx)、画像表示 (*.jpg, *.gif, etc)、PostScript
1162 (*.ps, *.eps) などに対応可能です。
1166 "x" マップはファイルの拡張子に応じて関数を呼び出します。ただし、あらかじめハン
1170 NFH_html("scp://user@host/some/path/mypgm.html")
1172 拡張子ごとのハンドラ関数を自分で定義できます。関数のサンプルは
1173 <plugin/netrwFileHandlers.vim> を参照してください。例: >
1175 " NFH_suffix(filename)
1177 fun! NFH_suffix(filename)
1181 このような関数は .vim/plugin (vimfiles\plugin) ディレクトリ内のファイルで定義
1182 します。Vim では関数名に記号を含めることができません (アンダースコアは可)。記
1183 号を含む拡張子をサポートするため、拡張子は次のルールで変換されます: >
1185 @ -> AT ! -> EXCLAMATION % -> PERCENT
1186 : -> COLON = -> EQUAL ? -> QUESTION
1187 , -> COMMA - -> MINUS ; -> SEMICOLON
1188 $ -> DOLLAR + -> PLUS ~ -> TILDE
1192 file.rcs,v -> NFH_rcsCOMMAv()
1194 他にも変換が必要な文字があるようなら、メールでお知らせください: >
1195 NdrOchip at ScampbellPfamily.AbizM - NOSPAM
1197 関連設定: |g:netrw_browsex_viewer|
1200 ブックマークを削除する *netrw-mB* {{{2
1202 ブックマークを削除するには、次のコマンドを使います >
1207 |netrw-gb| ブックマークに戻る (移動する)
1208 |netrw-mb| ブックマークを設定する
1209 |netrw-qb| ブックマークを一覧表示する
1212 ファイル/ディレクトリの削除 *netrw-delete* *netrw-D* *netrw-del* {{{2
1214 ファイルが |netrw-mf| でマークされていない場合: (local marked file list)
1216 ファイル/ディレクトリを削除するにはファイル名の上にカーソルを移動して "D"
1217 を押します。ディレクトリを削除する場合は中身が空でなければなりません。ディ
1218 レクトリがディレクトリへのソフトリンクだった場合は、ディレクトリを削除する
1219 ために二つのリクエストが実行されます。netrw はファイルを削除する前に確認ダ
1220 イアログを表示します。"V" コマンド (ビジュアルセレクト) で範囲を選択して
1223 訳注: rmdir <file> || rm <file> 的な処理
1225 ファイルが |netrw-mf| でマークされている場合: (local marked file list)
1227 マークされたファイル (と空ディレクトリ) が削除されます。netrw はファイルを
1228 削除する前に確認ダイアログを表示します。
1230 ファイルとディレクトリの削除には、|g:netrw_rm_cmd|、|g:netrw_rmf_cmd|、
1231 |g:netrw_rmdir_cmd| 変数が使われます。|g:netrw_rm_cmd| はファイルの削除に使わ
1234 g:netrw_rm_cmd: ssh HOSTNAME rm
1236 g:netrw_rmdir_cmd 変数はディレクトリの削除に使われます。初期設定は次のとおり:
1238 g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
1240 g:netrw_rmdir_cmd によるディレクトリの削除が失敗した場合は、g:netrw_rmf_cmd を
1241 使用した削除が試されます。初期設定は次のとおり:
1243 g:netrw_rmf_cmd: ssh HOSTNAME rm -f
1245 関連設定: |g:netrw_local_rmdir| |g:netrw_rm_cmd|
1246 |g:netrw_rmdir_cmd| |g:netrw_ssh_cmd|
1249 *netrw-explore* *netrw-hexplore* *netrw-nexplore* *netrw-pexplore*
1250 *netrw-rexplore* *netrw-sexplore* *netrw-texplore* *netrw-vexplore*
1253 :[N]Explore[!] [dir]... カレントファイルのディレクトリを開く *:Explore*
1254 :[N]Hexplore[!] [dir]... 水平分割で開く *:Hexplore*
1255 :Rexplore ... エクスプローラに戻る *:Rexplore*
1256 :[N]Sexplore[!] [dir]... カレントファイルのディレクトリを分割 *:Sexplore*
1258 :Texplore [dir]... タブで開く *:Texplore*
1259 :[N]Vexplore[!] [dir]... 垂直分割で開く *:Vexplore*
1261 :Explore **/pattern で開いたときに使うコマンド : (|netrw-starstar|参照)
1262 :Nexplore............. 次のファイルに移動 *:Nexplore*
1263 :Pexplore............. 前のファイルに移動 *:Pexplore*
1265 :Explore は、ローカルディレクトリブラウザを開始してカレントファイルのディレク
1266 トリ (または [dir] で指定されたディレクトリ) を開きます。編集中の
1267 ファイルに未保存の変更がある場合は新しいウィンドウを作成します。そう
1268 でない場合は同じウィンドウを使用します。通常、ウィンドウの分割は水平
1270 :Explore! は、:Explore と同じですが、ウィンドウを垂直分割します。
1271 :Sexplore は、常に新しいウィンドウを作成してローカルディレクトリブラウザを開始
1272 します。Explore と同様、通常はウィンドウは水平分割されます。
1273 :Sexplore! [dir] は、:Sexplore と同じですが、ウィンドウを垂直分割します。
1274 :Hexplore [dir] は、|:belowright| 水平分割を使って :Explore を実行します。
1275 :Hexplore! [dir] は、|:aboveleft| 水平分割を使って :Explore を実行します。
1276 :Vexplore [dir] は、|:leftabove| 垂直分割を使って :Explore を実行します。
1277 :Vexplore! [dir] は、|:rightbelow| 垂直分割を使って :Explore を実行します。
1278 :Texplore [dir] は、ブラウザウィンドウを作成する前に tabnew を実行します。
1280 引数を指定しなかった場合、これらのコマンドはカレントファイルのディレクトリを開
1281 きます。明示的にディレクトリ (path) を指定することもできます。
1283 [N] は新しいエクスプローラウィンドウの幅/高さを指定します。これは
1284 |g:netrw_winsize| よりも優先されます。
1286 幅指定がない場合は、|g:netrw_winsize| 変数が (設定されているなら)、新しいエク
1287 スプローラウィンドウの幅/高さとして使用されます。
1289 :Rexplore このコマンドは他のコマンドとは少し違います。例えば、netrw ブラウザ
1290 ウィンドウで <cr> を押してファイルを開いたとき、:Rexplore を実行す
1291 ると、最後に表示していたブラウザ画面に戻ることができます。これは
1292 <2-leftmouse> のコマンド版です (<2-leftmouse> はマウス対応端末か
1296 *netrw-star* *netrw-starpat* *netrw-starstar* *netrw-starstarpat*
1299 Explore, Sexplore, Hexplore, Vexplore それぞれのコマンドで、次のようなパターン
1300 が使われた場合、Explore はそれにマッチするようなファイルのリストを生成します。
1302 */filepat カレントディレクトリの、filepat にマッチするファイル
1303 **/filepat カレントディレクトリとそれ以下のディレクトリの、filepat にマッ
1305 *//pattern カレントディレクトリの、pattern を含んでいるファイル (vimgrep
1307 **//pattern カレントディレクトリとそれ以下のディレクトリの、pattern を含ん
1308 でいるファイル (vimgrep が使用されます)
1310 カーソルはリストの最初のファイルの上に置かれます。|:Nexplore| でファイルリスト
1311 の次のファイルへ、|:Pexplore| で前のファイルへ移動できます。netrw はディレクト
1316 と実行すると、ファイルリストがクリアされます。
1318 あなたのコンソールまたは gui が shift-up と shift-down を解釈できるなら、
1319 shift-downarrow と shift-uparrow を使うと便利でしょう。
1320 次のマップが netrw によって定義されます:
1322 <s-down> == Nexplore
1332 ステータスラインの右の方に "Match 3 of 20" のようなメッセージが表示されます。
1334 関連設定: |g:netrw_keepdir| |g:netrw_browse_split|
1335 |g:netrw_fastbrowse| |g:netrw_ftp_browse_reject|
1336 |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd|
1337 |g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd|
1341 ファイルの情報を表示する *netrw-qf* {{{2
1343 ファイル名の上にカーソルを移動して "qf" を押すと、ファイルのサイズと最終更新日
1344 時が表示されます。現在、この機能はローカルファイルのみ対応しています。
1347 隠しリストを編集する *netrw-ctrl-h* *netrw-edithide* {{{2
1349 "<ctrl-h>" マップを使うと、|g:netrw_list_hide| に設定されたファイル/ディレクト
1350 リの隠しリストを変更できます。隠しリストはパターンをカンマで区切ったものです。
1351 パターンにマッチしたファイル/ディレクトリは表示されなくなります。あるいはマッ
1352 チしたファイルのみを表示することができます (|netrw-a|参照)。
1354 "gh" マップ (|netrw-gh|参照) を使うと、通常の隠しリストの使用と "." で始まる
1355 ファイル/ディレクトリを非表示にするのを切り替えることができます。
1357 関連設定: |g:netrw_hide| |g:netrw_list_hide|
1358 関連項目: |netrw-a| |netrw-gh| |netrw-mh|
1361 ソートシーケンスを編集する *netrw-S* *netrw-sortsequence* {{{2
1363 "Sorted by" が name (名前順ソート) のとき 、g:netrw_sort_sequence を設定するこ
1364 とで優先順位を指定できます。ソートシーケンスは典型的には順位の高い順に拡張子を
1365 並べたもので、パターンを使うこともできます。パターンはカンマで区切ります。ソー
1366 トシーケンスの初期設定は次のとおり (実際にはすべて一行):
1369 '[\/]$,\<core\%(\.\d\+\)\=,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,
1370 \.info$,\.swp$,\.bak$,\~$'
1373 '[\/]$,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,
1376 単に * だけが指定されている場合は他のパターンにマッチしなかったすべてのファイ
1377 ルがマッチします。ソートシーケンスを変更するには、g:netrw_sort_sequence 変数を
1378 設定するか (手動または <.vimrc> で設定)、"S" マップを使います。
1380 関連項目: |netrw-s| |netrw-S|
1381 関連設定: |g:netrw_sort_sequence| |g:netrw_sort_options|
1384 親ディレクトリに移動する *netrw--* {{{2
1386 親ディレクトリに移動するには "-" を押すか、ファイル一覧の ../ ディレクトリの上
1389 netrw は |g:netrw_list_cmd| を使ってディレクトリ一覧を取得します。変数の
1390 HOSTNAME の部分は実際の url に置き換えられます。初期設定は次のとおり:
1392 ssh HOSTNAME ls -FLa
1394 HOSTNAME の部分は実際のリクエストの [user@]hostname に置換されます。設定は必要
1395 に応じて変更してください。ディレクトリ名の末尾にはスラッシュが付くことが想定さ
1399 ファイル/ディレクトリを隠すにする *netrw-a* *netrw-hiding* {{{2
1401 Netrw のブラウジングでは隠しリストを使う方法が三つあります: 使用しない、マッチ
1402 したファイルを隠す、マッチしたファイルのみを表示する。
1404 ファイルが |netrw-mf| によってマークされていない場合:
1406 "a" マップを使うと三つの表示モードが順番に切り替わります。
1408 |g:netrw_list_hide| 変数にはカンマで区切られた正規表現に基づくパターンのリスト
1409 (例 ^.*\.obj$,^\.) が設定されます。隠しリストを設定するには <c-h> マップを使い
1410 ます (|netrw-ctrl-h|参照)。例えば、 "." で始まるファイルを非表示にしたい場合、
1411 <c-h> を押して隠しリストに '^\..*' を設定します (あるいは <.vimrc> で
1412 let g:netrw_list_hide= '^\..*' を設定する)。そして、"a" キーを押して表示を切り
1413 替えます (すべてのファイルを表示、マッチしたファイルを隠す、マッチしたファイル
1417 すべての *.c *.h ファイルを表示/非表示する。
1420 同上。すべての *.c *.h ファイルを表示/非表示する。
1422 表示モード (normal/hiding/show) の切り替えは "a" マップです。忘れないで!
1424 ファイルが |netrw-mf| によってマークされている場合、次のように動作します:
1426 すべてのファイルを表示 or 隠しファイル非表示の場合:
1427 マークされたファイルを g:netrw_list_hide に追加し、
1431 マークされたファイルを g:netrw_list_hide から削除し、
1434 *netrw-gh* *netrw-hide*
1437 ドットで始まるファイルを非表示にするかどうかを簡単に切り替えることができます。
1439 関連設定: |g:netrw_list_hide|
1440 関連項目: |netrw-a| |netrw-ctrl-h| |netrw-mh|
1442 ブラウジングを改善する *netrw-listhack* *netrw-ssh-hack* {{{2
1444 リモートディレクトリをブラウジングするときなどに、操作の度にパスワードを入力す
1449 「Linux Server Hacks - 100 industrial strength tips & tools"」
1451 O'Reilly, ISBN 0-596-00461-3
1454 「LinuxサーバHacks—プロが使うテクニック&ツール100選」
1455 翻訳: 山口晴広、イメージズアンドワーズ
1457 ISBN-13: 978-4873111513
1459 に、 ssh と scp のパスワードを省略するための設定と、セキュリティ関係の議論があ
1460 ります。以前は http://hacks.oreilly.com/pub/h/66 で参照できましたが、現在この
1461 アドレスは "hackzine" へのリダイレクトになっています。
1462 記事の内容と Ben Schmidt とのやりとりを要約します:
1464 1. ローカルマシン (sshクライアント) でパブリックキーとプライベートキー
1467 (プロンプトに従ってファイルが ~/.ssh/id_rsa に保存されます)
1469 2. パスフレーズを聞かれる (二度) のでそのまま <CR> を押してパスフレー
1470 ズを空にする。もしパスフレーズを設定するなら、ssh-agent を使うこと
1471 でパスフレーズの入力をセッションごとに一度だけで済ますことができま
1472 す。パスフレーズを設定しなかった場合、あなたのローカルコンピュータ
1473 にログインするか、あるいはキーファイルにアクセスできれば、そのキー
1474 ファイルが登録された ssh サーバーにアクセスできます。
1480 4. ターゲットマシン (sshサーバー) での操作: >
1485 5. ローカルマシン (sshクライアント) での操作: (一行で入力) >
1486 ssh {serverhostname}
1487 cat '>>' '~/.ssh/authorized_keys2' < ~/.ssh/id_rsa.pub
1490 ssh {serverhostname}
1491 他に何も入力しないでサーバーマシンにログインできるはずです。
1493 パスフレーズを設定している場合は次のようにします: >
1496 ssh {serverhostname}
1497 ssh-add を実行するとパスフレーズを入力するプロンプトが表示されます。そして、
1498 ssh を使うときはそれは表示されません。vim で使うときは、次のようにもできます >
1500 そして、vim の中で次のコマンドを実行します >
1502 あるいは、vim を実行する予定の端末に ssh-agent を適用する方法もあります: >
1504 そして、必要になったところで ssh-add を実行してください。
1506 Windows 向けには、vim メーリングリストにおいてパスワードの省略には Pagent を使
1509 Kingston Fung 氏がパスワードを省略する別の方法について書いています:
1511 scp を使うたびにパスワードを入力しなくてもよくするには、ドキュメントにある
1512 ハックで空パスワードの ssh アカウントを作成する方法もあるが、もっといい方
1513 法がある。この方法では通常のパスワード付き ssh アカウントを使い、パスワー
1514 ドなしで操作を行える。これはセキュアかつ便利だ。方法としては、ssh パブリッ
1515 クキー認証と ssh-agent を使う。詳しくはリンク先を見て欲しい。
1517 http://www.ibm.com/developerworks/library/l-keyc2/
1518 http://sial.org/howto/openssh/publickey-auth/
1521 ブックマークと履歴を一覧表示する *netrw-qb* *netrw-listbookmark* {{{2
1523 "qb" (query bookmarks) を押すと、ブックマークされたディレクトリと移動履歴の一
1527 |netrw-gb| ブックマークに戻る (移動する)
1528 |netrw-mb| ブックマークを設定する
1529 |netrw-mB| ブックマークを削除する
1530 |netrw-u| 表示履歴の前のディレクトリに移動する
1531 |netrw-U| 表示履歴の次のディレクトリに移動する
1534 新しいディレクトリを作成する *netrw-d* {{{2
1536 "d" マップを使うと新しいディレクトリを作成できます (リモート操作は
1537 g:netrw_mkdir_cmd 変数に依存。ローカル操作は g:netrw_locak_mkdir に依存)。コマ
1538 ンドを実行すると新しいディレクトリの名前を入力するプロンプトが表示されます。何
1539 も入力せずに <CR> を押すとディレクトリの作成をキャンセルできます。ローカルディ
1540 レクトリを作成するときに既存のファイルまたはディレクトリと同じ名前を指定する
1541 と、エラーが表示され、操作は無視されます。
1543 現在、ftp でのディレクトリ作成はサポートされていません。
1545 関連設定: |g:netrw_local_mkdir| |g:netrw_mkdir_cmd|
1548 ブラウジングディレクトリをカレントディレクトリにする *netrw-c* {{{2
1550 |g:netrw_keepdir| の初期設定は 1 です。この設定の場合、カレントディレクトリは
1551 ブラウジングディレクトリに合わせて変更されません。
1553 g:netrw_keepdir を 0 に設定すると、ディレクトリを移動する度にカレントディレク
1556 g:netrw_keepdir が 1 のときは netrw のブラウジングディレクトリとカレントディレ
1557 クトリは別々です。二つのディレクトリを同じにするには "c" マップを使います (cを
1558 押すだけ)。このマップは Vim のカレントディレクトリを netrw のブラウジングディ
1561 関連設定: |g:netrw_keepdir|
1563 ファイルをマークする *netrw-mf* {{{2
1566 ファイルにマークを設定するにはファイル名の上で "mf" を押します。gvim では
1567 <s-leftmouse> でマークを設定することもできます。マークしたファイルは以下のマッ
1570 |netrw-a| ファイル/ディレクトリを隠す
1571 |netrw-D| ファイル/ディレクトリを削除する
1572 |netrw-mc| ファイルをターゲットディレクトリにコピーする
1573 |netrw-md| マークしたファイルに vimdiff を適用する
1574 |netrw-me| マークしたファイルを開く
1575 |netrw-mg| マークしたファイルに vimgrep を適用する
1576 |netrw-mm| マークしたファイルを移動する
1577 |netrw-mp| マークしたファイル印刷する
1578 |netrw-mt| |netrw-mm| または |netrw-mc| 用のターゲットを設定する
1579 |netrw-mT| マークしたファイルのタグを生成する
1580 |netrw-mx| マークしたファイルにシェルコマンドを適用する
1581 |netrw-mz| マークしたファイルを圧縮/伸長する
1582 |netrw-O| マークしたファイルを取得する
1583 |netrw-R| マークしたファイルの名前を変更する
1585 マークを解除したいときはマークを設定したときと同様に、ファイル名の上で "mf" を
1586 押します。gvim では <s-leftmouse> も使えます。すべてのマークを解除するには
1587 "mu" を使います (|netrw-mu|参照)。
1589 *markfilelist* *global_markfilelist* *local_markfilelist*
1590 マークされたすべてのファイルはグローバルマークファイルリストに記録されます。グ
1591 ローバルリストは一つだけ存在します。さらに、すべての netrw バッファはローカル
1592 マークファイルリストを持っています。netrw バッファは特定のディレクトリと結びつ
1593 いているので、ディレクトリごとにローカルマークファイルリストが存在することにな
1594 ります。マークされたファイルに対する操作はグローバル、またはローカルのマーク
1598 正規表現を使ってファイルをマークする *netrw-mr* {{{2
1601 正規表現を使ってファイルをマークするには "mr" を使います。"mr" を押すと "Enter
1602 regexp: " というプロンプトが表示されるので、正規表現 (例えば \.c$) を入力して
1603 ください。カレントディレクトリのファイルがマークされます。Note: 使用できるのは
1604 Vim の正規表現です (|regexp|)。シェルのものとは違います。なので例えば *.c と入
1605 力しても期待どおりにはならないでしょう。
1608 マークファイル: 任意のコマンド *netrw-mx* {{{2
1609 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1612 "mx" マップを実行すると(外部)コマンドを入力するためのプロンプトが表示され、
1613 マークしたファイルに対して入力したコマンドが実行されます。コマンド文字列内のす
1614 べての "%" は実行ごとにファイル名に置換されます。"%" が無い場合はコマンドの後
1615 ろにスペースとファイル名が付けられます。
1618 マークファイル: 圧縮と伸長 *netrw-mz* {{{2
1619 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1622 マークされたファイルが圧縮されている場合、"mz" はファイルを伸長します。
1623 マークされたファイルが圧縮されていない場合、"mz" はファイルを圧縮します。
1624 圧縮コマンドは |g:netrw_compress| で設定できます。初期設定は "gzip" です。
1626 伸長には、拡張子と伸長コマンドを関連付けた |Dictionary| が使われます。
1627 |g:netrw_decompress| 参照。
1629 関連設定: |g:netrw_compress| |g:netrw_decompress|
1631 マークファイル: コピー *netrw-mc* {{{2
1632 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1635 mt (|netrw-mt|) でコピー先ディレクトリを選択し、ファイルのあるディレクトリに移
1636 動し、mf (|netrw-mf|) でファイルを選択し、"mc" を押します。
1638 関連設定: |g:netrw_localcopycmd| |g:netrw_ssh_cmd|
1640 マークファイル: DIFF *netrw-md* {{{2
1641 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1644 |vimdiff| を使って選択したファイルの違いを表示します (選択できるファイルは二つ
1645 か三つです)。グローバルマークファイルリストが使われます。
1647 マークファイル: 編集 *netrw-me* {{{2
1648 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1651 このコマンドはマークされたファイルを |arglist| に設定し、編集を開始します。
1652 |:Rexplore| でエクスプローラウィンドウに戻ることができます。
1654 マークファイル: GREP *netrw-mg* {{{2
1655 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1658 マークされたファイルに対して |:vimgrep| を適用します。検索パターンを入力するた
1659 めのプロンプトが表示されます。次の形式で入力してください: >
1664 拡張子による表示/非表示 *netrw-mh* {{{2
1665 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1668 このコマンドは、マークされたファイルの拡張子を隠しリストに追加、または削除しま
1669 す。Note: 同じ拡張子のファイルが複数選択されていた場合はファイルの数だけ追加と
1670 削除が繰り返されます (つまり、同じ拡張子のファイルが偶数個選択されている場合は
1673 関連項目: |netrw-a| |g:netrw_list_hide|
1675 マークファイル: 移動 *netrw-mm* {{{2
1676 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1679 警告: ファイルの移動はコピーと比べて危険です。ファイルの移動時は、まず
1680 コピーされ、それから削除されます。コピーが失敗して削除が成功するとファ
1681 イルが失われます。実際に操作する前に適当なファイルで試してみるか、ある
1682 いは、mc と D を使って自分でコピーと削除を実行してください。
1685 mT (|netrw-mt|) で移動先ディレクトリを選択し、ファイルのあるディレクトリに移動
1686 し、mf (|netrw-mf|) でファイルを選択し、"mm" を押します。
1688 関連設定: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
1690 マークファイル: 印刷 *netrw-mp* {{{2
1691 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1694 マークされたファイルに対して |:hardcopy| コマンドを実行します。具体的には、そ
1695 れぞれのファイルを一行のウィンドウで開いて、hardcopy を実行し、一行ウィンドウ
1699 マークファイル: スクリプト実行 *netrw-ms* {{{2
1700 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1703 マークされたファイルをスクリプト実行します (Vimの|:source|コマンド使用)
1706 マークファイル: タグ生成 *netrw-mT* {{{2
1707 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1710 "mt" マップはマークされたファイルに対して |g:netrw_ctags| で指定されたコマンド
1711 を実行します (初期設定は "ctags")。リモートブラウジングでは、タグファイルを生
1712 成するために ssh が使われます (|g:netrw_ssh_cmd|参照)。したがって、リモートシ
1713 ステムの ssh でコマンドが使えなければなりません。ローカルで使う場合は、|ctags|
1714 を参照して ctags を準備してください。私は個人的に hdrtags を使っています。
1715 hdrtags は http://mysite.verizon.net/astronaut/src/index.html から入手できま
1716 す。これを使う場合は <.vimrc> で次のように設定してください: >
1718 let g:netrw_ctags= "hdrtag"
1720 リモートでタグファイルを生成した場合、タグファイルが "取得" されます。つまり、
1721 ローカルシステムにファイルがコピーされます。そして、ネットワーク越しのファイル
1722 にアクセスできるように、タグファイルが変更されます。変更されるのはタグファイル
1723 内のファイル名で、それぞれのファイル名の前に netrw で扱える形の url が挿入され
1724 ます (urlは元のタグファイルの場所に基づく)。タグ操作 (|tags|) を実行すると、
1725 netrw によって url が開かれ、タグに移動できます。
1727 関連設定: |g:netrw_ctags| |g:netrw_ssh_cmd|
1730 マークファイル: ターゲットディレクトリを設定する *netrw-mt* {{{2
1731 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1733 ファイルコピー/移動のターゲットを設定する (|netrw-mc|と|netrw-mm| 参照):
1735 * カーソルがファイルの上にある場合、netrw ウィンドウに表示されているディレク
1738 * カーソルがバナーの上にある場合も、netrw ウィンドウに表示されているディレク
1741 * カーソルがディレクトリの上にある場合は、そのディレクトリがターゲットとして
1744 ターゲットは Vim セッションで一つしか設定できません。ターゲットはスクリプト変
1745 数 (|s:var|参照) で管理されており、(Vim のインスタンスごとの) すべての netrw
1748 マークファイル: マーク解除 *netrw-mu* {{{2
1749 (マークの設定方法は |netrw-mf| と |netrw-mr| を参照)
1751 "mu" マップを使うと現在設定されているすべてのマークが解除されます。
1754 NETRW ブラウザ変数 *netrw-browser-options* *netrw-browser-var* {{{2
1756 (ファイル転送の設定については |netrw-options| を参照)
1758 netrw ブラウザの各種設定は変数で管理されていて、それを変更することができます。
1759 <.vimrc> などで変数を設定することでブラウザの動作をカスタマイズできます。
1760 (|netrw-settings|も参照)
1765 < *g:netrw_alto* 分割ウィンドウを(上ではなく)下に開くようにする
1767 初期設定: =&sb (|'sb'| 参照)
1769 *g:netrw_altv* 分割ウィンドウを(左ではなく)右に開くようにする
1771 初期設定: =&spr (|'spr'| 参照)
1773 *g:netrw_browse_split* ブラウザで <cr> を押してファイルを開くとき:
1778 =4: "P" で開く (以前のウィンドウで開く)
1780 *g:netrw_browsex_viewer* ユーザー指定のビューア: >
1785 < なら、netrwFileHandler() によってファイルを処
1787 (|netrw_filehandler| 参照)
1789 *g:netrw_compress* ="gzip"
1792 *g:netrw_ctags* ="ctags"
1795 *g:netrw_cursorline* = 1 (初期設定)
1796 以下の表示スタイルで |'cursorline'| を使う
1797 |g:netrw_liststyle| ==0 (thin listing) or
1798 |g:netrw_liststyle| ==1 (long listing) or
1799 |g:netrw_liststyle| ==3 (tree listing)
1801 =2: 1 と同じですが、wide 表示で cursorline と
1802 |'cursorcolumn'| を使う
1803 (つまり wide 表示には影響しない)
1805 *g:netrw_decompress* = { ".gz" : "gunzip" ,
1806 ".bz2" : "bunzip2" ,
1811 *g:netrw_fastbrowse* =0: 低速ディレクトリブラウジング
1815 リモートディレクトリのみファイル一覧を再利
1819 未取得のディレクトリ (または|netrw-ctrl-l|
1820 が使われたとき) のみファイル一覧を取得す
1823 高速ブラウジングは古いファイル一覧バッファを保
1824 持し、再取得処理を実行しません。これは特にリ
1825 モートブラウジングで重要になります。ファイルが
1826 作成/削除されるとファイル一覧バッファは不正確
1827 な情報になります。|netrw-ctrl-l| を使うことで
1829 この設定によって正確さ (常に最新) とスピードの
1832 *g:netrw_fname_escape* =' ?&;%'
1833 リモートで読み/書きするときにファイル名をエス
1836 *g:netrw_ftp_browse_reject* ftp がエラーや警告を出力すると、それがファイル
1837 やディレクトリとして一覧に表示されてしまいま
1838 す。この変数に設定したパターンを使ってそれらの
1839 メッセージが取り除かれます。初期設定は以下のと
1842 ^Trying\s\+\d\+.*$\|
1843 ^KERBEROS_V\d rejected\|
1844 ^Security extensions not\|
1846 : connect to address [0-9a-fA-F:]*
1847 : No route to host$'
1849 *g:netrw_ftp_list_cmd* ftp に渡されるファイル一覧取得コマンド。
1851 unix or g:netrw_cygwin set: : "ls -lF"
1855 *g:netrw_ftp_sizelist_cmd* ftp に渡されるファイル一覧取得コマンド。ファイ
1858 unix or g:netrw_cygwin set: : "ls -slF"
1861 *g:netrw_ftp_timelist_cmd* ftp に渡されるファイル一覧取得コマンド。最終更
1864 unix or g:netrw_cygwin set: : "ls -tlF"
1867 *g:netrw_glob_escape* ='[]*?`{~$'
1868 設定された文字がディレクトリ名に使われていたら
1869 glob() を適用する前にエスケープされる。
1871 *g:netrw_hide* true なら、隠しリストが使用される
1874 *g:netrw_home* ブックマークと履歴 (.netrwbook と .netrwhist)
1876 初期設定: |'runtimepath'| の最初のディレクトリ
1878 *g:netrw_keepdir* =1 (初期設定) カレントディレクトリとブラウジン
1880 =0 カレントディレクトリとブラウジングディレク
1882 現在のブラウジングディレクトリはb:netrw_curdir
1883 に保存されます。 (|netrw-c| 参照)
1885 *g:netrw_list_cmd* リモートディレクトリのファイル一覧取得コマンド
1887 "ssh HOSTNAME ls -FLa"
1889 *g:netrw_liststyle* デフォルトのファイル一覧表示スタイル:
1890 = 0: thin listing (一行に一つのファイル)
1891 = 1: long listing (一行に一つのファイル、タイ
1893 = 2: wide listing (一行に複数のファイル)
1894 = 3: tree style listing (ツリー表示)
1895 *g:netrw_list_hide* 隠しファイル用のパターンのリスト(カンマ区切り)
1896 パターンは正規表現です (|regexp|参照)
1897 例: let g:netrw_list_hide= '.*\.swp$'
1900 *g:netrw_localcopycmd* ="cp" Linux/Unix/MacOS/Cygwin
1902 マークされたファイル (|netrw-mf|) をターゲット
1903 ディレクトリにコピー (|netrw-mt|, |netrw-mc|)
1905 *g:netrw_localmovecmd* ="mv" Linux/Unix/MacOS/Cygwin
1907 マークされたファイル (|netrw-mf|) をターゲット
1908 ディレクトリに移動 (|netrw-mt|, |netrw-mm|)
1910 *g:netrw_local_mkdir* ローカルディレクトリ作成コマンド
1913 *g:netrw_local_rmdir* ディレクトリ削除コマンド (rmdir)
1916 *g:netrw_maxfilenamelen* 初期設定は 32。 long スタイルでの表示を 80 カ
1917 ラムのディスプレイに収められるような値。
1918 大きい画面を使っているか、32 バイトより長い名
1919 前のファイル/ディレクトリがあるなら、このオプ
1920 ションを設定して表示を調整するといいでしょう。
1922 *g:netrw_mkdir_cmd* リモートディレクトリ作成コマンド
1923 初期設定: "ssh USEPORT HOSTNAME mkdir"
1925 *g:netrw_retmap* この変数が存在し、その値が 1 なら:
1927 * <2-leftmouse> のノーマルモードのマップが他
1929 という場合、netrw ブラウザウィンドウに戻るため
1930 の機能として <2-leftmouse> マップが設定されま
1932 例: クリックしてファイルを開き、ダブルクリッ
1935 Note: <2-leftmouse> 以外のキーを割り当てたい場
1937 * let g:netrw_retmap= 1
1938 * nmap <silent> 好きなキー <Plug>NetrwReturn
1941 |:Rexplore| コマンドを使っても同じことができま
1946 *g:netrw_rm_cmd* ファイル削除コマンド
1947 初期設定: "ssh USEPORT HOSTNAME rm"
1949 *g:netrw_rmdir_cmd* ディレクトリ削除コマンド
1950 初期設定: "ssh USEPORT HOSTNAME rmdir"
1952 *g:netrw_rmf_cmd* ソフトリンク削除コマンド
1953 初期設定: "ssh USEPORT HOSTNAME rm -f"
1955 *g:netrw_sort_by* ソートの種類 ("name" or "time" or "size")
1958 *g:netrw_sort_direction* ソートの順序: "normal" or "reverse"
1961 *g:netrw_sort_options* ソートには |:sort| が使われます。この変数に設
1962 定された値はソートコマンドに追加されます。例え
1963 ば .vimrc で次のように設定すると、大文字小文字
1965 let g:netrw_sort_options="i"
1968 *g:netrw_sort_sequence* 名前でソートするとき、まずこの変数で指定された
1969 パターンを使ってソートする。カンマで区切られた
1970 パターンのリスト。Note: ソート時のファイル名に
1972 (|netrw-filigree|) が含まれます。
1973 初期設定: '[\/]$,*,\.bak$,\.o$,\.h$,
1974 \.info$,\.swp$,\.obj$'
1976 *g:netrw_special_syntax* true なら、特定の種類のファイルが特別な色(シン
1980 netrwCompress: *.gz *.bz2 *.Z *.zip
1983 netrwLib : *.a *.so *.lib *.dll
1984 netrwMakefile: [mM]akefile *.mak
1985 netrwObj : *.o *.obj
1986 netrwTags : tags ANmenu ANtags
1988 netrwTmp : tmp* *tmp
1990 これらの構文ハイライトグループは、初期設定では
1991 Folded か DiffChange へのリンクです。
1992 (|hl-Folded| と |hl-DiffChange| 参照)
1993 例えば <.vimrc> で次のように設定することで >
1994 hi link netrwCompress Visual
1997 *g:netrw_ssh_cmd* リモートアクセス時に ssh として使われる実行可
1998 能ファイル。ファイル一覧取得やファイル削除など
2002 *g:netrw_ssh_browse_reject* ssh の出力に不要なテキスト (メッセージ、バナー
2003 等) が混ざっていて、それらがディレクトリやファ
2004 イルとして認識されると困ります。この変数に設定
2005 されたパターンを使って余計なメッセージを取り除
2011 *g:netrw_tmpfile_escape* =' &;'
2012 一時ファイルを escape() で処理するときに使われ
2015 *g:netrw_timefmt* Vim の strftime() で使用するフォーマット文字列
2016 を指定します。初期設定は "%c" で、これは手元の
2017 strftime() のマニュアルページによれば "現在の
2018 ロケールにおいて一般的な日付・時刻の表記" で
2019 す。"%c" の結果に不満な場合は例えば次のような
2022 " %a %Y-%m-%d %I-%M-%S %p"
2025 *g:netrw_use_noswf* netrw のブラウザバッファではスワップファイルを
2026 使わないようにしています。しかし、あるシステム
2027 ではそれによって ml_get エラーが発生することが
2028 あります。そのようなエラーが出た場合は .vimrc
2030 let g:netrw_use_noswf= 0
2032 *g:netrw_winsize* ウィンドウを作成したときの初期サイズ。"o"
2033 (|netrw-o|), "v" (|netrw-v|), |:Hexplore|,
2037 *g:netrw_xstrlen* マルチバイト文字列の長さを計算する方法を指定す
2038 る。 (thanks to N Weibull, T Mechelynck)
2039 =0: Vim の組み込み関数 strlen() を使う
2040 =1: 文字数。(Latin a + combining circumflex は
2042 =2: 文字数。(Latin a + combining circumflex は
2043 一文字。タブ文字は 1。CJK文字は全角半角と
2045 =3: 表示幅 (タブ文字は 1 から |'tabstop'| まで
2046 の可変幅。CJK文字は全角は 2、その他は 1。
2047 アラビア文字の alif は、lam が前置されてい
2048 る場合は 0、そうでなければ 1。...)
2050 *g:NetrwTopLvlMenu* トップレベルメニューの名前を指定する。初期設定
2051 は "Netrw."。これを変更したい場合は .vimrc で
2054 NETRW ブラウザとオプション設定の互換性 *netrw-incompatible* {{{2
2056 Netrw 内部でオプションを変更するときは、ユーザー設定を保存してから netrw 用の
2057 値を設定し、後で元に戻すという方法が使われます。しかし、autochdirオプション: >
2059 の扱いには問題があります。autochdir は開いているファイルが置かれているディレク
2060 トリをカレントディレクトリとして設定しますが、これはディレクトリを開いたときも
2061 適用されます。つまり、autochdir によってファイル (それがディレクトリであって
2062 も) が置かれているディレクトリがカレントディレクトリとして設定されてしまいま
2065 NETRW の設定 *netrw-settings* {{{2
2067 NetrwSettings.vim プラグインのコマンド >
2069 を実行すると、netrw の設定変数が表示されたウィンドウが表示されます。値を編集し
2070 てファイルを保存すると設定が反映されます。それぞれの変数の上で "?" を押すとそ
2073 (参照: |netrw-browser-var| |netrw-protocol| |netrw-var| |netrw-variables|)
2076 ==============================================================================
2077 ファイルを取得する *netrw-O* {{{2
2081 リモートディレクトリを表示しているとき、ファイル名の上で O を押すことで
2082 ファイルを取得できます (ローカルマシンにファイルがコピーされる。編集は開始
2087 マークされたファイルが取得されます (ローカルマシンにファイルがコピーされ
2090 この操作は ftp と scp でサポートされています (ブラウジングが動作しているなら
2091 問題なく使えるはずです)。ステータスラインの右側に "Obtaining filename" のよう
2092 なメッセージが表示されます。ファイル転送が完了するとステータスラインは元に戻り
2095 ローカルマシンのファイルを "取得" することもできます。<.vimrc> で
2096 |g:netrw_keepdir| が 0 に設定されていなければ、Netrw では Vim のカレントディレ
2097 クトリとは別のディレクトリを表示できます。ローカルブラウザでファイルを選択
2098 (ファイル名の上にカーソルを移動) し、"O" を押すことで、ファイルを "取得" (Vim
2099 のカレントディレクトリにコピー) できます。
2102 * カレントディレクトリを確認するには: |:pwd| 参照。
2103 * ブラウザで表示しているディレクトリをカレントディレクトリにしたい場合は:
2105 * ブラウザで表示しているディレクトリをカレントディレクトリに自動的にしたい場
2106 合は: |g:netrw_keepdir| 参照。
2109 NETRW のカレントディレクトリで新しいファイルを作成する *netrw-%*
2111 netrw のカレントディレクトリで新しいファイルを作成するには "%" を押します。
2112 ファイル名を入力するためのプロンプトが表示されます。指定した名前の空のファイル
2113 が netrw のカレントディレクトリ (b:netrw_curdir) に作成されます。
2116 プレビューウィンドウ *netrw-p* *netrw-preview* {{{2
2118 ファイルの上で "p" キーを押すと、そのファイルをプレビューウィンドウで開くこと
2119 ができます。ブラウザウィンドウとは別にファイルを表示するウィンドウが作成されま
2120 す (|:pedit|参照。カーソルは移動しません)。初期設定ではウィンドウは水平分割さ
2121 れます。|g:netrw_preview| を設定することで垂直分割に変更できます。
2124 以前のウィンドウ *netrw-P* *netrw-prvwin* {{{2
2126 ファイル/ディレクトリを以前の (最後にアクセスした) ウィンドウ (:he |CTRL-W_p|)
2127 で開くには、"P" を押します。ウィンドウが一つしかない場合は、新しいウィンドウが
2128 水平分割で作成されます (分割位置は |g:netrw_alto| で設定できます。ウィンドウの
2129 初期サイズは |g:netrw_winsize| で設定できます)。
2131 ウィンドウが複数ある場合は、以前のウィンドウを使ってファイル/ディレクトリが開
2132 かれます。以前のウィンドウで表示されているバッファに未保存の変更があり、その
2133 バッファを表示しているウィンドウが一つだけの場合、バッファを保存するかどうかを
2134 尋ねるプロンプトが表示されます (yes, no, または cancel)。
2137 一覧を更新する *netrw-ctrl-l* *netrw-ctrl_l* {{{2
2139 ローカル/リモートのディレクトリのファイル一覧は、ctrl-l (<c-l>) を押すか、一覧
2140 の ./ の上で <cr> を押すことで更新できます。":e ." でローカルディレクトリを更
2144 ファイルの名前を変更する *netrw-move* *netrw-rename* *netrw-R* {{{2
2146 マークされたファイルがない場合: (|netrw-mf| 参照)
2148 移動 (名前変更) したいファイル/ディレクトリにカーソルを移動して "R" を押し
2149 ます。プロンプトが表示されるのでファイル/ディレクトリの移動先を入力してく
2150 ださい。"V" コマンド (ビジュアル選択) で複数の行を選択して "R" を使うこと
2153 マークされたファイルがある場合: (|netrw-mf| 参照)
2155 マークされたファイルを移動 (名前変更) します。プロンプトが表示されるので
2156 ファイル/ディレクトリの移動先を入力してください。
2160 Note: ファイルの移動はコピーと比べて危険です。なぜなら、リモートのファイル
2161 を "移動" するとき、実際には コピー + 削除 を実行しているからです。コピー
2162 が失敗して削除が成功するとファイルが失われます。
2164 g:netrw_rename_cmd 変数で名前変更のコマンドを指定できます。初期設定は次のとお
2169 V (|linewise-visual|) で選択することで複数のファイル/ディレクトリを名前変更で
2173 ソートの順番を逆にする *netrw-r* *netrw-reverse* {{{2
2175 "r" キーを押すことでソートの順番を昇順/降順に切り替えることができます。
2178 関連設定: |g:netrw_sort_direction|
2181 ソートの種類を変更する *netrw-s* *netrw-sort* {{{2
2183 ファイル一覧は名前、時間、ファイルサイズのいずれかでソートできます。"s" マップ
2184 を使うことでソートの種類を順番に切り替えることができます。ファイルの一覧は自動
2187 関連項目: |netrw-r| |netrw-S|
2188 関連設定: |g:netrw_sort_by| |g:netrw_sort_sequence|
2191 ファイルを開くウィンドウを指定する *netrw-C* {{{2
2193 ファイルを開くウィンドウを指定するには、netrw ウィンドウで "C" マップを押す
2194 か、g:netrw_chgwin にウィンドウ番号を設定します。ファイルを開く (|netrw-cr|)
2198 関連設定: |g:netrw_chgwin|
2201 10. 問題と対策 *netrw-problems* {{{1
2203 (何かフィードバックがあればこの項に追加していきます)
2206 P1. Windows 95 を使っています。ftp が読み込みのたびに末尾に四行の空行
2209 |netrw-fixup| を見て、次の設定を <.vimrc> に加えてください:
2211 let g:netrw_win95ftp= 1
2214 P2. Windows を使っています。ftp を使ったブラウジングで時間やサイズで
2215 ソートできません。- あるいは - リモートシステムが Windows サーバー
2216 なんですが、時間やサイズでソートできません。
2218 Windows の ftp の ls には最低限の機能しかありません (ソートオ
2219 プションが使えない等)。注釈文字を得るための -F もサポートされ
2220 ていません (例えば ABC がディレクトリなら ABC/ になる機能)。
2221 そのため、Netrw は "dir" を使って short と long スタイルの一覧
2222 を取得します。あなたの ftp がこれらの機能をサポートしているな
2223 ら、<.vimrc> に次の設定を書いてください: >
2225 let g:netrw_ftp_list_cmd = "ls -lF"
2226 let g:netrw_ftp_timelist_cmd= "ls -tlF"
2227 let g:netrw_ftp_sizelist_cmd= "ls -slF"
2229 あるいは、あなたの Windows に cygwin がインストールされている
2230 なら、<.vimrc> に次の設定を書いてください: >
2232 let g:netrw_cygwin= 1
2234 この問題はリモートシステムが Windows だった場合にも起こりま
2235 す。その場合、以上のように g:netrw_ftp_[time|size}list_cmd を
2236 設定しても、リモートシステムは期待した動作をしないでしょう。
2240 P3. rcp://user@host/ (あるいは他の ftp 以外のプロトコル) を指定したの
2241 に netrw は ssh を使おうとする。
2243 Netrw はリモートディレクトリを表示する方法として ssh と ftp を
2244 使います。ftp 以外が指定された場合は ssh が使われます。(ファイ
2245 ル一覧取得ではなく) ファイルをダウンロードするときに、指定され
2249 P4. ファイル一覧の表示スタイルを long をデフォルトにしたい。
2251 |.vimrc| に次のコマンドを書いてください: >
2253 let g:netrw_liststyle= 1
2255 他にもいろいろカスタマイズできます。|netrw-browser-var| を参照
2259 P5. ローカルブラウザでの時間の表示がおかしい
2261 あなたのシステムの strftime() は "%c" を指定したときに "Sun
2262 Apr 27 11:49:23 1997" のような出力を返しますか? そうでない場
2263 合は、"man strftime" を実行して適切なオプションを確認してくだ
2264 さい。そして、|.vimrc| にその設定を書いてください: >
2266 let g:netrw_timefmt= "%X" (X は調べたオプション)
2269 P6. ブラウザで移動するごとにカレントディレクトリを設定したい。
2271 次の設定を |.vimrc| に書いてください:
2273 let g:netrw_keepdir= 0
2276 P7. ファイル名に中国語 (などの非 ascii) の文字が使われていると、netrw
2277 (Explore, Sexplore, Hexplore, etc) でそれが表示されない。
2279 (Vim メーリングリストでの Wu Yongwei 氏による回答)
2280 問題は確認できました。936 以外のコードページを使っていません
2281 か? Windows の Unicode版 API に対応していない他のアプリケー
2282 ション同様、どうやら Vim ではカレントコードページの文字以外は
2283 使えないようです。これは OS の問題です。最近の Linux ディスト
2284 リビューションのような UTF-8 ロケールが使えるシステムではこの
2287 (こういうのが utf-8 が推奨される理由の一つです)
2290 P8. "ssh is not executable on your system" (ssh という実行可能ファイル
2291 がない) って表示されるんだけど、どうすればいいの?
2293 (Dudley Fox) 私の知る限りほとんどの windows ユーザーは ssh と
2294 して putty を使っています。putty はフリーの ssh/telnet アプリ
2295 ケーションです。詳しくは url を参照してください。
2297 http://www.chiark.greenend.org.uk/~sgtatham/putty/
2299 (Marlin Unruh) このプログラムは私のところでも動作しました。実
2300 行ファイル一つなので、Windows\System32 フォルダにコピーして
2303 (Dudley Fox) plink も試してみるといいでしょう。こっちの方が目
2304 的にあっていると思います。plink は putty スイートに含まれてい
2307 http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
2309 (Vissale Neang) OpenSSH の windows 版もあります。次の場所から
2312 http://sshwindows.sourceforge.net/
2314 これは Cygwin をインストールしなくても使えます。
2316 (Antoine Mechelynck) Windows 環境でネイティブに動く Unix プロ
2317 グラムが個別に欲しい場合は sourceforge の GnuWin32 プロジェク
2320 http://gnuwin32.sourceforge.net/
2322 Cygwin が Windows の上に Unix 仮想マシンを作っているのと違い、
2323 GnuWin32 は Windows のシステムコールで Unix のユーティリティを
2324 実装しています。なので、それらのプログラムは cmd.exe と相性が
2327 (dave) WinSCP を使ってサーバーに接続する方法もあります。
2328 Preferences > Editors で gvim をエディタとして設定する:
2331 - 外部エディタを設定 (パスは適当に調節してください。ク
2332 オートを付けて最後に !.! を付ける):
2333 "c:\Program Files\Vim\vim70\gvim.exe" !.!
2334 - 設定画面のの下の方を見てファイルタイプが
2335 {asterisk}.{asterisk} (すべてのファイル)、または自分
2336 の設定したい値になっているのを確認する (cec:
2337 {asterisk} は * に読み替えてください。こういう風に書
2338 かないとヘルプのタグとして認識されてしまうので...)。
2339 - 設定がリストボックスの一番上にくるようにする (なって
2340 いない場合は設定をクリックして "Up" をクリックする)
2341 Norton Commander スタイルを使っている場合は <F4> を押すことで
2342 ファイルをローカルにコピーしたものをgvimで開くことができます。
2344 (Vit Gottwald) パブリックキーとプライベートキーを生成してパブ
2345 リックキーをサーバーに保存する方法: >
2346 http://www.tartarus.org/~simon/puttydoc/Chapter8.html#pubkey-gettingready
2347 8.3 Getting ready for public key authentication
2349 'pscp' でプライベートキーを使う方法: >
2351 http://www.tartarus.org/~simon/puttydoc/Chapter5.html
2352 5.2.4 Using public key authentication with PSCP
2354 (Ben Schmidt) cwRsync に付属している ssh が便利だと思います。
2355 私は最近これを見つけてほとんどの Windows システムに cwRsync か
2356 cwRsyncServer をインストールしました。ssh だけ使いたい場合は同
2357 じ人が配布している COPSSH を使った方がいいかもしれません。こっ
2358 ちには多分 sftp とかも入ってると思います。cwRsync には入ってな
2361 (cec) 以上の提案を実行する場合は以下の変数を .vimrc で設定する
2364 |g:netrw_ssh_cmd| |g:netrw_list_cmd| |g:netrw_mkdir_cmd|
2365 |g:netrw_rm_cmd| |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
2367 最初の変数 (|g:netrw_ssh_cmd|) が一番重要です。他の変数は
2368 g:netrw_ssh_cmd の文字列を使って初期値が設定されます。
2369 *netrw-p9* *netrw-ml_get*
2370 P9. ブラウザでディレクトリを変更するとなんか変になる。ml_get エラーが
2371 表示されて、vim を kill するしかなくなる。どうすればいいの?
2373 Netrw ではディレクトリを表示しているバッファに対してスワップ
2374 ファイルが作成されないようにしていますが、その影響で、システム
2375 によっては ml_get エラーが発生することがあります。<.vimrc> で
2376 |g:netrw_use_noswf| を 0 に設定してみてください: >
2377 let g:netrw_use_noswf= 0
2380 P10. "[something] is a directory" と表示されて "Press ENTER or type
2381 command to continue" というプロンプトが出るのがいやなんだけど...
2383 "[something] is a directory" プロンプトは (netrw ではなく) Vim
2384 によって出力されていて、この表示をなくす方法はありません。
2385 cmdheight が 1 (初期設定) の場合にこのメッセージによって
2386 "Press ENTER..." プロンプトが表示されます。|hit-enter| を読ん
2387 でください。|'cmdheight'| を 2 (かそれ以上) に設定するといいか
2391 P11. ウィンドウを二分割して、左の細いウィンドウをブラウザ表示に、右の
2392 ウィンドウをファイル編集用にしたいんだけど、どうすればいいの?
2394 * <.vimrc> に次の設定を書く:
2395 let g:netrw_altv = 1
2396 * カレントディレクトリを ":e ." で開く
2398 * 適当にウィンドウのサイズを変更する (|CTRL-W_<| と |CTRL-W_>|
2399 参照)。gvim を使っている場合はウィンドウの区切りをマウスでド
2401 * 他のファイルを開く場合は ctrl-w h で netrw ブラウザに戻り、
2402 ファイルを選択し、P を押す (|CTRL-W_h| と |netrw-P| 参照)。
2403 gvim を使っている場合はブラウザウィンドウで <leftmouse> 押し
2404 てから開きたいファイルを <middlemouse> で選択する。
2407 P12. ディレクトリが正しくソートされない、一覧のファイル名になんか変な
2408 文字が付く、wide 表示でファイルが正しく整列されない、...。
2410 おそらくエンコーディングの問題です。私は普段 utf-8 を使っています
2411 が、しかし ascii文字 (32-126の範囲のバイト) しか使っていません。
2412 マルチバイトエンコーディングでは一つの文字を 2 バイトかそれ以上の
2413 バイトで表現します。|g:netrw_sepchr| や |g:netrw_xstrlen| の設定
2416 ==============================================================================
2417 11. Netrw をデバッグする *netrw-debug* {{{1
2419 <netrw.vim> スクリプトはたいていは次のような場所にあります:
2421 /usr/local/share/vim/vim6x/plugin/netrwPlugin.vim
2422 /usr/local/share/vim/vim6x/autoload/netrw.vim
2424 /usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
2425 /usr/local/share/vim/vim7x/autoload/netrw.vim
2427 スクリプトは起動時に自動的にロードされます (:set nocp を想定)。
2429 1. <Decho.vim> スクリプトを入手してください:
2431 http://mysite.verizon.net/astronaut/vim/index.html#DECHO
2433 http://vim.sourceforge.net/scripts/script.php?script_id=120
2435 スクリプトは "vimball" になっています。7.0 かそれ以前の vim を使って
2436 いる場合は vimball もアップデートする必要があります。
2437 http://mysite.verizon.net/astronaut/vim/index.html#VIMBALL
2439 2. 次のようにして <netrw.vim> ファイルを編集してください: >
2445 通常のデバッグなし状態に戻すには再び <netrw.vim> を編集します >
2451 このコマンドは <Decho.vim> で定義されており、すべての Decho デバッ
2452 グステートメント (Dfunc(), Dret(), Decho(), Dredir()) をコメントア
2455 3. Vim を起動して、ネットワークファイルを開いたりブラウジングしたりし
2456 て問題を再現してください。<netrw.vim> がネットワーク上のファイルを
2457 読み込んだり書き込んだりする過程が別のタブに出力されます。
2459 出力をファイルに保存するには次のようにします >
2463 < その情報を <netrw.vim> のメンテナに送ってください >
2464 NdrOchip at ScampbellPfamily.AbizM - NOSPAM
2466 ==============================================================================
2467 12. 変更履歴 *netrw-history* {{{1
2469 v136: Jan 14, 2009 * extended |g:Netrw_funcref| to also handle lists
2470 of function references
2471 Jan 14, 2009 * (reported by Marvin Renich) with spell check
2472 enabled, some filenamess will still being
2473 displayed as spelling errors.
2474 v135: Oct 29, 2008 * using |simplify()| on directory names
2475 (supporting handling ".."s in directory names)
2476 Oct 31, 2008 * added special file highlighting for core dumps
2477 under Unix/Linux. The default sorting sequence
2478 now also gives core dumps priority.
2479 Nov 10, 2008 * uses a call to netrw#Nread() instead of Nread
2480 to avoid having to use fnameescape()
2481 * fixed a tree redrawing problem (open directory,
2482 open subdir, close subdir, close dir)
2483 Nov 19, 2008 * sprinked some histdel("/",-1)s through the code
2484 in an attempt to prevent netrw from changing
2486 Jan 02, 2009 * |g:Netrw_funcref| included
2487 Jan 05, 2009 * Explore */ **/ *// **// all clear explorer
2489 Jan 05, 2009 * (Panagiotis Louridas) extended s:WinPath()
2490 to remove cygdrive from non-cygwin Windows
2491 paths. Improved the determination as to
2492 whether or not to do so.
2493 Jan 13, 2009 * included contains=@NoSpell in every syntax
2494 group for syntax/netrw.vim .
2495 v134: Sep 30, 2008 * (Sander Marechal) provided a bugfix involving
2496 the use of the |netrw-t| command with a remote
2498 Sep 30, 2008 * using "x" on a remote jpg was failing; fixed.
2499 Oct 03, 2008 * bookmarks now go on a list and are stored to
2500 the first directory on the |'runtimepath'| in
2501 the hopes of making their retention reliable.
2502 History now also goes to that directory.
2503 Oct 07, 2008 * Included check that vim 7.0 or later is in use.
2504 Oct 07, 2008 * Improved |g:netrw_retmap| handling.
2505 Oct 12, 2008 * Based upon Sébastien Migniot's suggestion, if
2506 cadaver isn't available then netrw will try to
2507 use curl for the dav://... protocol.
2508 Oct 13, 2008 * added @*/ to netrw buffers' |'iskeyword'|setting
2509 This lets mf (|netrw-mf|) mark directories, links
2511 Oct 13, 2008 * avoids a second NetrwBrowse() refresh when
2512 g:netrw_fastbrowse is <= 1 (slow, medium speed)
2513 Oct 22, 2008 * |g:netrw_http_xcmd| may now be overridden
2514 independently of |g:netrw_http_cmd|.
2515 Oct 23, 2008 * [N] added to the various Explore commands to
2516 let users specify the width/height of new
2517 explorer windows, overriding |g:netrw_winsize|.
2518 v133: Aug 10, 2008 * NetReadFixup() for win95 was missing some "a:"s
2519 Aug 12, 2008 * (Jan Minář) an error condition in NetrwMethod()
2520 wasn't being used, resulting in "b:netrw_fname
2522 Aug 12, 2008 * (François Ingeirest) asked that "hi link" be
2523 changed to hi default link in the netrw syntax
2525 Aug 12, 2008 * using s:NetrwUnmarkList() more often. Filenames
2526 were being left on the global list when removed
2527 from the buffer-local lists.
2528 Aug 14, 2008 * (Joshua Clayton) an errant extra ")" was left in
2529 the rcp-handling portion of NetRead().
2530 Sep 03, 2008 * added |'cursorline'| highlighting to thin, long,
2532 v132: Aug 06, 2008 * Fixed marked file-based obtain
2533 Aug 08, 2008 * sourcing a file via ftp from a netrw-generated
2534 buffer (or any buffer with |'nobl'|) left an
2535 empty no-name buffer in its wake. Fixed.
2536 v130: Jul 31, 2008 * trying out elinks/links for http://host/
2537 requests. One problem: in-page links
2538 (such as with ...#LABEL) are not supported
2539 * verified that Bram's modified netrwPlugin works
2540 Aug 01, 2008 * fixed a bug: when sourcing a file via ftp, the
2541 "filter window" was left behind.
2542 v129: Jul 31, 2008 * bug found in non-mouse enabled vim and some
2544 v128: Jul 30, 2008 * much work done in using shellescape() and
2546 v126: Jun 30, 2008 * after having gone to a remote directory,
2547 <f1> was no longer taking one to the correct
2548 entry in the help (|netrw-quickhelp|). Fixed.
2549 Jul 01, 2008 * extracting the last filename from a wide listing
2550 missed the last letter when |'virtualedit'| not
2552 Jul 01, 2008 * vim foo/bar was creating [Scratch] buffers,
2553 where bar was also a directory
2554 Jul 01, 2008 * numerous additional changes were made to netrw
2555 to use fnameescape() and shellescape() instead
2556 of escape(). Not all changes have been tested
2558 Jul 01, 2008 * (James Vega reported) some problems with
2559 :NetrwSettings (due to no longer used setting
2561 Jul 07, 2008 * Additional numerous changes to support security;
2562 shellescape(arg,1), etc.
2563 v125: Apr 07, 2008 * (Cristian Rigamonti) CR provides a patch; he
2564 noted that gx was failing since its call to
2565 netrw#NetBrowseX() wasn't updated to
2566 netrw#NetrwBrowseX().
2567 * (Stanis Trendelenburg) ST provides a patch to
2568 supports davs: (dav + ssl)
2569 * (Rick Choi) noted that directory names comprised
2570 of three digits were not being displayed by
2571 the internal browser. Fixed.
2572 * (Erik Falor) provided a patch to handle problems
2573 with changing directory and |'acd'| option.
2574 * (James Vega, Teemu Likonen) noted that netrw
2575 wasn't handling multi-byte filenames/directories
2577 * (Rick) found problem with g:netrw_maxfilenamelen
2579 * (James Vega) pointed out that netrw was
2580 misidentifying all files in a symbolically linked
2581 directory as being symbolically linked
2582 themselves. This particular problem was fixed;
2583 however, there are now situations where
2584 symbolically linked files will not be detected.
2585 Really need an internal vim function to do this
2587 Apr 17, 2008 * When g:netrw_keepdir==0, current directory
2588 doesn't necessarily equal b:netrw_curdir
2589 initially. Problem is due to the patch directly
2591 * Fixed qf to handle case where b:netrw_curdir
2592 isn't the same as the current directory under
2594 * New: |netrw-mg| (apply vimgrep to marked files)
2595 May 05, 2008 * (Rick) pointed out that a "setlocal ts=32" was
2596 interfering with g:netrw_maxfilenamelen
2597 May 05, 2008 * (James Vega) a file inside a linked directory
2598 was showing up as a symbolic link itself.
2599 May 22, 2008 * symbolic links, fifos, and sockets are now
2600 indicated by a trailing @, |, or =, respectively.
2601 Jun 06, 2008 * Removed numerous bugs from the marked file
2602 move and copy. Tested these changes under
2604 * :Rexplore returns to the screen position in the
2605 netrw listing from whence the file was edited
2606 v124: Apr 02, 2008 * (Adrian Rollett) change the line supporting the
2607 "x" action for mac to use g:netrw_shq
2608 v123: Feb 27, 2008 * Marked files now keeps a "global" marked file
2609 list. The global marked file list is used to
2610 support tag processing and vimdiff'ing
2611 (|netrw-md| |netrw-mt|)
2612 * Been insuring that mm and mc works with various
2613 combinations of local and remote directories
2614 * (Stefan Bittner) http://.../ should always have
2615 filetype "html" -- fixed.
2616 * (Stefan Bittner) a "?" in a http://.../ request
2617 wasn't being handled correctly. Fixed by
2618 removing ? from default |g:netrw_tmpfile_escape|.
2619 * (Nico Weber) % codes in http://.../ requests
2620 weren't being handled correctly. Fixed by
2621 including % in default |g:netrw_fname_escape|.
2622 * (Stefan Bittner) attempts to update Buffers.Refresh
2623 were failing because locale use changed the menu
2624 names. I implemented a workaround.
2625 v122: Feb 12, 2008 * bugfix - first sorting sequence match now has
2627 Feb 14, 2008 * bugfix - sorting sequence was effectively ignoring
2628 sequencing priority of anything following '*'
2629 * toggling a marked file was showing incorrect list
2630 (list was correct, but displayed matches weren't)
2631 * |g:netrw_special_syntax| implemented
2632 v121: Feb 11, 2008 * Bram M reported that :e file ... :e . would not
2633 retain the alternate file. Fixed -- I hope!
2634 * bugfix -- apparently v120 broke an explicit
2636 v120: Jan 21, 2008 * |netrw-mt| changed to allow for target selection
2637 based on whether or not word under cursor is a
2638 directory or file, or if cursor is in banner
2640 * |netrw-mh| included (hiding by marked-file suffix)
2641 * functions moved about a bit (improved
2643 * executable files now displayed with trailing (*)
2644 * symbolically linked files now displayed with
2646 * Somewhen, s:NetrwMarkFileMove() got damaged. Its
2647 now restored (missing an endif, for example).
2648 * |netrw-mu| implemented (unmarking marked files)
2649 * many bugs have been removed from the marked file
2650 system (tnx to Mark S. for feedback)
2651 * |netrw-ms| implemented (sourcing marked files)
2652 * fixed use of P with tree listing style
2653 * multiple tree listing now supported
2655 * changed q -> qb (query bookmarks)
2656 * implemented |netrw-qf|
2657 * Explore now has four special list-generation
2658 modes: */filepat **/filepat
2659 *//pattern **//pattern
2660 * gh (|netrw-gh|) is a shortcut for toggling the
2661 hiding of files and directories beginning with a
2663 v119: Jan 10, 2008 * When g:netrw_keepdir is false,
2664 NetrwOptionsRestore() had a problem
2666 Jan 11, 2008 * Netrw now shows symbolic links with a trailing
2667 "@" and special highlighting.
2668 Jan 15, 2008 * Changed g:netrw_noretmap -> |g:netrw_retmap|.
2669 Changed: disabled by default at Bram's
2671 v118: Jan 02, 2008 * Fixed a problem with Windows;
2672 :Explore c:/path/ would not work,
2673 but :Explore c:/path would.
2674 * Fixed a bug in s:NetrwOptionRestore() - lcd's
2675 argument wasn't being properly escaped so it
2676 wouldn't handle spaces in directory names.
2678 v117: Jan 02, 2008 * Fixed a problem with P; had to include
2679 a b:netrw_curdir bypass (Bram Moolenaar)
2680 v116: Nov 27, 2007 * netrw#LocalBrowseCheck() has &ft=="netrw"
2681 check to prevent doing a directory listing
2682 (was getting unexpected directory refreshes
2683 in the middle of some function calls)
2684 * NetrwOptionRestore moved after e! filename
2685 in order to retain user options for editing
2686 in s:NetrwBrowseChgDir()
2687 Dec 12, 2007 * Bug fix -- netrw does a better job of retaining
2688 user options when editing files under the aegis
2690 v115: Oct 04, 2007 * Erik Remmelzwaal pointed out that the use of
2691 shellslash in s:GetTempfile() was incorrect
2692 Oct 11, 2007 * Tracked down and eliminated a bug with editing
2693 remote *.tar.gz and *.tar.bz2 files
2694 Oct 11, 2007 * g:netrw_localmovecmd wasn't being initialized
2695 properly, and g:netrw_localcopycmd was being
2697 Oct 12, 2007 * Placed all :Rexplore and <2-leftmouse> setup
2698 in a new support function (s:SetRexDir()).
2699 Oct 15, 2007 * new: g:netrw_browse_split == 4; means <cr>
2700 based selection will use previous window
2701 Oct 20, 2007 * also checks on |'shellxquote'| to set g:netrw_shq
2702 Oct 24, 2007 * Explore handles path/**/filename
2703 Oct 27, 2007 * sourcing remote files often didn't work with ftp,
2704 turns out that b:netrw_method was undefined, so
2705 s:SaveBufVars and s:RestoreBufVars() fixed it.
2706 v114: Sep 28, 2007 * mT, the map that invokes tags, has been improved
2707 to support use of remote tags files.
2708 Oct 02, 2007 * changed Netrw menu to use more submenus
2709 v113: Sep 07, 2007 * worked out why the cursor position wasn't being
2710 saved and restored as intended after doing such
2711 things as deleting and renaming files.
2712 Sep 11, 2007 * Fixed bug which effectively disabled <c-l> and
2714 Sep 18, 2007 * there used to be one NetrwOptionRestore() call at
2715 the end of the s:NetrwBrowseChgDir() function;
2716 they're now at the end of every if..elseif..else
2717 block. The edit-a-file one is not quite at the end
2718 of its block; instead, its just before the edit.
2719 Restores user options, then this new placement
2720 allows ftplugins, autocmds, etc to change settings
2721 (ex. ftplugin/cpp.vim sets cindent).
2722 Sep 19, 2007 * changed all strlen() calls to use s:Strlen(), a
2723 function which handles utf-8 wide characters
2725 Sep 20, 2007 * (Nico Weber) the "x" command has been extended
2726 to Mac's OS/X (macunix); it now uses open to
2727 handle |netrw-x| browsing with special files.
2728 Sep 22, 2007 * Added g:netrw_noretmap to netrw at Tony M's
2730 * Included path to NetrwRemoteRmFile()
2731 v112: Aug 18, 2007 * added mx (|netrw-mx|) for executing arbitrary
2732 commands on marked files
2733 Aug 22, 2007 * more option save/restore work for
2734 s:NetrwBrowseChgDir(); s:NetrwOptionSave()
2735 and s:NetrwOptionRestore() now take a parameter
2736 specifying the type of variables to be used for
2737 saving and restoring (either "w:" or "s:")
2738 Sep 04, 2007 * added the :NetrwClean[!] command
2739 v111: Jul 25, 2007 * using Windows but not using Cygwin, netrw does a
2740 "file bufname" where the bufname uses /s
2741 instead of \s; Vim "fixes" it by changing the
2742 bufname to use \s anyway. This meant that
2743 NetrwGetBuffer() didn't find the appropriately
2744 named buffer, and so would generate a new
2745 buffer listing; hence the cursor would appear
2746 to have been moved when doing a preview.
2747 * added <2-leftmouse> map to return to netrw's
2749 Aug 16, 2007 * added the mark-file system, including
2750 maps for mf mp mt mz and mu. Modifications
2751 made to maps for a D O and R to support
2753 v110: May 10, 2007 * added [ and ] maps to NetrwTreeListing
2754 May 25, 2007 * |g:netrw_preview| included
2755 May 29, 2007 * modifed netrw#NetBrowseX to consistently use
2756 g:netrw_shq instead of hardcoded quotes,
2757 and modified the snippet that sets up redir
2758 so Windows machines use "nul" instead of
2760 Jun 01, 2007 * fixed bug -- NetGetBuffer() wasn't always
2761 recognizing a buffer name match when it should,
2762 thus resulting in [Scratch] buffers.
2763 Jun 04, 2007 * Gary Johnson found a bugfix for the "c" mapping
2764 when the directory is to be made current but
2765 the name contains spaces.
2766 v109: Mar 26, 2007 * if a directory name includes a "$" character,
2767 Explore() will use expand() in an attempt to
2769 May 07, 2007 * g:netrw_use_errorwindow now allows one to
2770 have error messages go to a reliable window
2771 or to use a less reliable but recallable
2773 May 07, 2007 * g:netrw_scpport and g:netrw_sshport support
2774 use of -P and -p, respectively, to set port
2776 v108: Jan 03, 2007 * included preview map (|netrw-p|), supporting
2778 * netrw can now source remote files
2779 Jan 26, 2007 * Colton Jamieson noted that remote directory
2780 browsing did not support alternate port
2781 selection. This feature has now been extended
2782 to apply to all remote browsing commands via ssh.
2783 (list, remove/delete, rename)
2784 Jan 31, 2007 * Luis Florit reported that @* was an invalid
2785 register. The @* register is now only saved and
2786 restored if |'guioptions'| contains "a".
2787 Feb 02, 2007 * Fixed a bug that cropped up when writing files
2788 via scp using cygwin
2789 Feb 08, 2007 * tree listing mode managed to stop working again;
2791 Feb 15, 2007 * Guido Van Hoecke reported that netrw didn't
2792 handle browsing well with M$ ftp servers. He even
2793 set up a temporary account for me to test with
2794 (thanks!). Netrw now can browse M$ ftp servers.
2795 v107: Oct 12, 2006 * bypassed the autowrite option
2796 Oct 24, 2006 * handles automatic decompression of *.gz and *.bz2
2798 Nov 03, 2006 * Explore will highlight matching files when
2799 **/pattern is used (and if the |'hls'| option
2801 Nov 09, 2006 * a debugging line, when enabled, was inadvertently
2802 bringing up help instead of simply reporting on
2804 Nov 21, 2006 * tree listing improved (cursor remains put)
2805 Nov 27, 2006 * fixed b:netrw_curdir bug when repeated "i"s were
2807 Dec 15, 2006 * considerable qty of changes, mostly to share more
2808 code between local and remote browsing. Includes
2809 support for tree-style listing for both remote
2811 Dec 15, 2006 * Included Peter Bengtsson's modifications to
2813 v106: Sep 21, 2006 * removed old v:version<700 code as netrw now
2815 * worked around a bug where register * was
2816 overwritten during local browsing
2817 v104: Sep 05, 2006 * as suggested by Rodolfo Borges, :Explore and
2818 variants will position the cursor on the file
2819 just having been edited
2820 * changed default |g:netrw_sort_sequence| order
2821 * changed b, Nb to simply mb (see |netrw-mb|)
2822 * changed B, NB to simply gb (see |netrw-gb|)
2823 * tree listing style (see |g:netrw_liststyle|)
2824 * attempts to retain the alternate file
2825 v103: Jul 26, 2006 * used Yakov Lerner's tip#1289 to improve netrw
2826 error message display
2827 * wide listings didn't handle files with backslashes
2828 in their names properly. A symptom was an
2829 inability to open files.
2830 Aug 09, 2006 * included "t" mapping for opening tabbed windows,
2831 both for remote and local browsing
2832 * changed netrw_longlist to netrw_liststyle
2833 Aug 15, 2006 * fixed one of the NB maps
2834 Aug 22, 2006 * changed *Explore commands to use -nargs=* instead
2835 of -nargs=?. Allows both -complete=dir _and_ the
2836 starstar arguments to work (-nargs=? seems to
2837 require one or the other).
2838 Aug 23, 2006 * copied all w:.. variables across splits to
2840 Aug 25, 2006 * when g:netrw_browsex_viewer was '-'
2841 (see |g:netrw_browsex_viewer|) it wasn't causing
2842 netrwFileHandlers#Invoke() to be called as it
2843 was expected to. (tnx Steve Dugaro)
2844 Aug 29, 2006 * changed NetBrowseX() to use "setlocal ... noswf"
2845 instead of "set ... noswf" (tnx Benji Fisher)
2846 Aug 31, 2006 * tabs and fastbrowse<=1 didn't work together.
2847 v102: Jun 15, 2006 * chgd netrwPlugin to call netrw#LocalBrowseCheck()
2848 * bugfix: g:netrw_keepdir==0 had stopped working
2849 Jul 06, 2006 * bugfix: NetOptionSave/Restore now saves/restores
2850 the unnamed register (|registers|)
2851 Jul 07, 2006 * |g:netrw_menu| support included
2852 Jul 13, 2006 * :Texplore command implemented
2853 Jul 17, 2006 * NetSplit and (Local|Net)BrowseChgDir() were both
2854 splitting windows. This affected o, v, and
2855 g:netrw_browse_split.
2856 Jul 20, 2006 * works around wildignore setting (was causing
2857 netrw's local browser not to list wildignore'd
2859 Jul 24, 2006 * <leftmouse> acts as a <cr> for selecting a file
2860 <rightmouse> acts as a <del> for deleting a file
2861 v100: May 14, 2006 * when using Windows and shell==cmd.exe, the
2862 default for g:netrw_ignorenetrc is now 1
2863 * bugfix: unwanted ^Ms now removed
2864 (affected shell==cmd.exe - Windows)
2865 * added Bookmarks and History to the menu
2866 * an error message about non-existing
2867 w:netrw_longlist was appearing during attempts to
2869 * g:netrw_shq now available to make netrw use
2870 specified style of quotes for commands
2871 May 29, 2006 * user NFH_*() functions were inadvertently being
2873 * fixed a Windows non-cygwin ftp handling problem.
2874 * hiding pattern candidate separators included some
2875 characters it shouldn't have (tnx to Osei Poku)
2876 Jun 01, 2006 * for browsing, netrw was supposed to use "dir"
2877 instead of "ls -lF" when using
2878 ftp+non-cygwin+windows. Fixed.
2879 * an inadvertently left-in-place debugging statement
2880 was preventing use of the "x" key with browsing.
2881 Jun 05, 2006 * g:netrw_nogx available to prevent making the gx
2882 map (see |g:netrw_nogx|)
2883 * bugfix, Explore wouldn't change directory
2884 properly (vim ., :Explore subdirname)
2885 Jun 06, 2006 * moved history to 2nd line in Netrw menu
2886 * fixed delete for unix-based systems
2887 Jun 07, 2006 * x key now works for windows-noncygwin-ftp
2888 Jun 08, 2006 * Explore */pat and **//pat now wraps
2889 v99: May 09, 2006 * g:netrw_browse_split=3 for opening files in new
2891 May 12, 2006 * deletes temporary file at end of NetRead()
2892 * visual mode based Obtain implemented
2893 * added -complete=dir to the various Explore
2895 v98: May 02, 2006 * the "p" key didn't work properly when the browsing
2896 directory name had spaces in it.
2897 v97: May 01, 2006 * exists("&acd") now used to determine if
2898 the 'acd' option exists
2899 * "obtain" now works again under Windows
2900 v96: * bugfix - the |'acd'| option is not always defined
2901 but is now bypassed only when it is
2902 v95: * bugfix - Hiding mode worked correctly (don't show
2903 any file matching any of the g:netrw_hide
2904 patterns), but showing mode was showing only those
2905 files that didn't match any of the g:netrw_hide
2906 patterns. Instead, it now shows all files that
2907 match any of the g:netrw_hide patterns (the
2908 difference between a logical and and logical or).
2909 v94: * bugfix - a Decho() had a missing quote; only
2910 affects things when debugging was enabled.
2911 v93: * bugfix - removed FocusGained event from causing a
2912 slow-browser refresh for Windows
2913 v92: * :Explore **//pattern implemented
2914 (**/filepattern was already taken)
2915 v91: * :Explore */pattern implemented
2916 * |'acd'| option bypassed
2917 v90: * mark ', as suggested by Yegappan Lakshmanan, used
2918 to help guarantee entry into the jump list when
2920 * <s-down> and <s-up> are no longer defined until a
2921 :Explore **/pattern is used (if the user already
2922 has a map for them). They will be defined for new
2923 browser windows from that point forward.
2924 v89: * A <s-down>, <s-up>, :Nexplore, or a :Pexplore
2925 without having first done an :Explore **/pattern
2926 (see |netrw-starstar|) caused
2927 a lot of unhelpful error messages to appear
2928 v88: * moved DrChip.Netrw menu to Netrw. Now has
2929 priority 80 by default.
2930 g:NetrwTopLvlMenu == "Netrw" and can be changed
2931 by the user to suit. The priority is given by
2932 g:NetrwMenuPriority.
2933 * Changed filetype for browser displays from
2935 v87: * bug fix -- menus were partially disappearing
2936 v85: * bug fix -- missing an endif
2937 * bug fix -- handles spaces in names and directories
2938 when using ftp-based browsing
2939 v83: * disabled stop-acd handling; the change in directory
2940 handling may allow acd to be used again.
2941 * D was refusing to delete remote files/directories
2942 in wide listing mode.
2943 v81: * FocusGained also used to refresh/wipe local browser
2945 * (bugfix) netrw was leaving [Scratch] buffers behind
2946 when the user had the "hidden" option set. The
2947 'hidden' option is now bypassed.
2948 v80: * ShellCmdPost event used in conjunction with
2949 g:netrw_fastbrowse to refresh/wipe local browser
2951 v79: * directories are now displayed with nowrap
2952 * (bugfix) if the column width was smaller than the
2953 largest file's name, then netrw would hang when
2954 using wide-listing mode - fixed
2955 * g:netrw_fastbrowse introduced
2956 v78: * progress has been made on allowing spaces inside
2957 directory names for remote work (reading, writing,
2959 v77: * Mikolaj Machowski fixed a bug in a substitute cmd
2960 * g:netrw_browsex_viewer implemented
2961 * Mikolaj Machowski pointed out that gnome-open is
2962 often executable under KDE systems, although it is
2963 effectively not functional. NetBrowseX now looks
2964 for "kicker" as a running process to determine if
2965 KDE is actually running.
2966 * Explorer's O functionality was inadvertently left
2967 out. Netrw now does the same thing, but with the
2969 * added g:netrw_browse_split option
2970 * fixed a bug where the directory contained a "." but
2971 the file didn't (was treating the dirname from "."
2972 onwards as a suffix)
2973 v76: * "directory is missing" error message now restores
2975 v75: * file://... now conforms to RFC2396 (thanks to
2977 * if the binary option is set, then NetWrite() will
2978 only write the whole file (line numbers don't make
2979 sense with this). Supports writing of tar and zip
2981 v74: * bugfix (vim, then :Explore) now works
2982 * ctrl-L keeps cursor at same screen location (both
2983 local and remote browsing)
2984 * netrw now can read remote zip and tar files
2985 * Obtain now uses WinXP ftp+.netrc successfully
2986 v73: * bugfix -- scp://host/path/file was getting named
2988 * netrw detects use of earlier-than-7.0 version of
2989 vim and issues a pertinent error message.
2990 * netrwSettings.vim is now uses autoloading. Only
2991 <netrwPlugin.vim> is needed as a pure plugin
2992 (ie. always loaded).
2993 v72: * bugfix -- formerly, one could prevent the loading
2994 of netrw by "let g:loaded_netrw=1"; when
2995 autoloading became supported, this feature was
2996 lost. It is now restored.
2997 v71: * bugfix -- made some "set nomodifiable"s into
2998 setlocal variants (allows :e somenewfile to be
2999 modifiable as usual)
3000 * NetrwSettings calls a netrw function, thereby
3001 assuring that netrw has loaded. However, if netrw
3002 does not load for whatever reason, then
3003 NetrwSettings will now issue a warning message.
3004 * For what reason I don't recall, when wget and fetch
3005 are both not present, and an attempt to read a
3006 http://... url is made, netrw exited. It now only
3008 * When ch=1, on the second and subsequent uses of
3009 browsing Netrw would issue a blank line to clear
3010 the echo'd messages. This caused an annoying
3011 "Hit-Enter" prompt; now a blank line message
3012 is echo'd only if &ch>1.
3013 v70: * when using |netrw-O|, the "Obtaining filename"
3014 message is now shown using |hl-User9|. If User9
3015 has not been defined, netrw itself will define it.
3016 v69: * Bugfix: win95/98 machines were experiencing a
3017 "E121: Undefined variable: g:netrw_win95ftp"
3019 v68: * double-click-leftmouse selects word under mouse
3020 v67: * Passwords which contain blanks will now be
3021 surrounded by double-quotes automatically (Yongwei)
3022 v66: * Netrw now seems to work with a few more Windows
3024 * O now obtains a file: remote browsing
3025 file -> local copy, locally browsing
3026 file -> current directory (see :pwd)
3027 * i now cycles between thin, long, and wide listing
3029 * NB and Nb are maps that are always available;
3030 corresponding B and b maps are only available when
3031 not using wide listing in order to allow them to
3033 v65: * Browser functions now use NetOptionSave/Restore; in
3034 particular, netrw now works around the report
3036 v64: * Bugfix - browsing a "/" directory (Unix) yielded
3037 buffers named "[Scratch]" instead of "/"
3038 * Bugfix - remote browsing with ftp was omitting
3040 v63: * netrw now takes advantage of autoload (needs 7.0)
3041 * Bugfix - using r (to reverse sort) working again
3042 v62: * Bugfix - spaces allowed again in directory names
3043 with g:netrw_keepdir=0. In fact, I've tested netrw
3044 with most ANSI punctuation marks for directory
3046 * Bugfix - NetrwSettings gave errors when
3047 g:netrw_silent had not be set.
3048 v61: * Document upgrade -- netrw variable-based settings
3049 all should have tags. Supports NetrwSettings cmd.
3050 * Several important variables are window-oriented.
3051 Netrw has to transfer these across a window split.
3052 See s:BufWinVars() and s:UseBufWinVars().
3053 v60: * When using the i map to switch between long and
3054 short listings, netrw will now keep cursor on same
3056 * "Match # of #" now uses status line
3057 * :Explore **/*.c will now work from a
3058 non-netrw-browser window
3059 * :Explore **/patterns can now be run in separate
3061 * active banner (hit <cr> will cause various things
3063 v59: * bugfix -- another keepalt work-around installed
3065 * "Match # of #" for Explore **/pattern matches
3066 v58: * Explore and relatives can now handle
3067 **/somefilepattern (v7)
3068 * Nexplore and Pexplore introduced (v7). shift-down
3069 and shift-up cursor keys will invoke Nexplore and
3070 Pexplore, respectively.
3071 * bug fixed with o and v
3072 * autochdir only worked around for vim when it has
3073 been compiled with either
3074 |+netbeans_intg| or |+sun_workshop|
3075 * Under Windows, all directories and files were
3076 being preceded with a "/" when local browsing.
3078 * When: syntax highlighting is off, laststatus=2, and
3079 remote browsing is used, sometimes the laststatus
3080 highlighting bleeds into the entire display. Work
3081 around - do an extra redraw in that case.
3082 * Bugfix: when g:netrw_keepdir=0, due to re-use of
3083 buffers, netrw didn't change the directory when it
3085 * Bugfix: D and R commands work again
3086 v57: * Explore and relatives can now handle RO files
3087 * reverse sort restored with vim7's sort command
3088 * g:netrw_keepdir now being used to keep the current
3089 directory unchanged as intended (sense change)
3090 * vim 6.3 still supported
3091 v56: * LocalBrowse now saves autochdir setting, unsets it,
3092 and restores it before returning.
3093 * using vim's rename() instead of system +
3094 local_rename variable
3095 * avoids changing directory when g:netrw_keepdir is
3097 v55: * -bar used with :Explore :Sexplore etc to allow
3098 multiple commands to be separated by |s
3099 * browser listings now use the "nowrap" option
3100 * browser: some unuseful error messages now
3102 v54: * For backwards compatibility, Explore and Sexplore
3103 have been implemented. In addition, Hexplore and
3104 Vexplore commands are available, too.
3105 * <amatch> used instead of <afile> in the
3106 transparency support (BufReadCmd, FileReadCmd,
3108 * ***netrw*** prepended to various error messages
3110 * g:netrw_port used instead of b:netrw_port for scp
3111 * any leading [:#] is removed from port numbers
3112 v53: * backslashes as well as slashes placed in various
3113 patterns (ex. g:netrw_sort_sequence) to better
3115 v52: * nonumber'ing now set for browsing buffers
3116 * when the hiding list hid all files, error messages
3118 * when browsing, swf is set, but directory is not
3119 set, when netrw was attempting to restore options,
3120 vim wanted to save a swapfile to a local directory
3121 using an url-style path. Fixed
3122 v51: * cygwin detection now automated
3123 (using windows and &shell is bash)
3124 * customizable browser "file" rejection patterns
3126 * :[range]w url now supported (ie. netrw uses a
3128 * error messages have a "Press <cr> to continue" to
3129 allow them to be seen
3130 * directory browser displays no longer bother the
3132 * u/U commands to go up and down the history stack
3133 * history stack may be saved with viminfo with it's
3135 * bugfixes associated with unwanted [No Files]
3137 v50: * directories now displayed using buftype=nofile;
3138 should keep the directory names as-is
3139 * attempts to remove empty "[No File]" buffers
3140 leftover from :file ..name.. commands
3141 * bugfix: a "caps-lock" editing difficulty left in
3143 * syntax highlighting for "Showing:" the hiding list
3145 * bookmarks can now be retained if "!" is in the
3147 v49: * will use ftp for http://.../ browsing
3148 v48: * One may use ftp to do remote host file browsing
3149 * (windows and !cygwin) remote browsing with ftp can
3150 now use the "dir" command internally to provide
3152 * g:netrw_keepdir now allows one to keep the initial
3153 current directory as the current directory
3154 (normally the local file browser makes the
3155 currently viewed directory the current directory)
3156 * g:netrw_alto and g:netrw_altv now support
3157 alternate placement of windows started with o or v
3158 * Nread ? and Nwrite ? now uses echomsg (instead of
3159 echo) so :messages can repeat showing the help
3160 * bugfix: avoids problems with partial matches of
3161 directory names to prior buffers with longer names
3162 * one can suppress error messages with g:netrw_quiet
3164 * instead of <Leader>h for editing hiding list one
3165 may edit the sorting sequence with the S map, which
3166 now allows confirmation of deletion with
3167 [y(es) n(o) a(ll) q(uit)]
3168 * the "x" map now handles special file viewing with:
3169 (windows) rundll32 url.dll (gnome) gnome-open (kde)
3170 kfmclient If none of these are on the executable
3171 path, then netrwFileHandlers.vim is used.
3172 * directory bookmarking during both local and remote
3173 browsing implemented
3174 * one may view all, use the hiding list to suppress,
3175 or use the hiding list to show-only remote and
3176 local file/directory listings
3177 * improved unusual file and directory name handling
3178 preview window support
3179 v47: * now handles local browsing.
3180 v46: * now handles remote browsing
3181 * g:netrw_silent (if 1) will cause all transfers to
3183 v45: * made the [user@]hostname:path form a bit more
3184 restrictive to better handle errors in using
3185 protocols (e.g. scp:usr@host:file was being
3186 recognized as an rcp request)
3187 v44: * changed from "rsync -a" to just "rsync"
3188 * somehow an editing error messed up the test to
3189 recognize use of the fetch method for NetRead.
3190 * more debugging statements included
3191 v43: * moved "Explanation" comments to <pi_netrw.txt> help
3192 file as "Network Reference" (|netrw-ref|)
3193 * <netrw.vim> now uses Dfunc() Decho() and Dret() for
3195 * removed superfluous NetRestorePosn() calls
3196 v42: * now does BufReadPre and BufReadPost events on
3197 file:///* and file://localhost/*
3198 v41: * installed file:///* and file://localhost/* handling
3199 v40: * prevents redraw when a protocol error occurs so
3200 that the user may see it
3202 v38: * Now uses NetRestorePosn() calls with Nread/Nwrite
3204 * Temporary files now removed via bwipe! instead of
3205 bwipe (thanks to Dave Roberts)
3206 v37: * Claar's modifications which test if ftp is
3207 successful, otherwise give an error message
3208 * After a read, the alternate file was pointing to
3209 the temp file. The temp file buffer is now wiped
3211 * removed silent from transfer methods so user can
3212 see what's happening
3215 ==============================================================================
3216 12. クレジット *netrw-credits* {{{1
3218 Vim editor by Bram Moolenaar (Thanks, Bram!)
3219 dav support by C Campbell
3220 fetch support by Bram Moolenaar and C Campbell
3221 ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM>
3222 http support by Bram Moolenaar <bram@moolenaar.net>
3224 rsync support by C Campbell (suggested by Erik Warendorph)
3225 scp support by raf <raf@comdyn.com.au>
3226 sftp support by C Campbell
3228 inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell
3230 Jérôme Augé -- also using new buffer method with ftp+.netrc
3231 Bram Moolenaar -- obviously vim itself, :e and v:cmdarg use,
3233 Yasuhiro Matsumoto -- pointing out undo+0r problem and a solution
3234 Erik Warendorph -- for several suggestions (g:netrw_..._cmd
3235 variables, rsync etc)
3236 Doug Claar -- modifications to test for success with ftp
3239 ==============================================================================
3241 vim:tw=78:ts=8:ft=help:norl:fdm=marker