*pi_netrw.txt* For Vim バージョン 8.1. Last change: 2019 Nov 14 ------------------------------------------------ NETRW REFERENCE MANUAL by Charles E. Campbell ------------------------------------------------ Author: Charles E. Campbell <NdrOchip@ScampbellPfamily.AbizM> (まずメールアドレスから NOSPAM を削除してください)
Copyright: Copyright (C) 2017 Charles E Campbell The VIM LICENSE applies to the files in this package, including netrw.vim, pi_netrw.txt, netrwFileHandlers.vim, netrwSettings.vim, and syntax/netrw.vim. Like anything else that's free, netrw.vim and its associated files are provided *as is* and comes with no warranty of any kind, either expressed or implied. No guarantees of merchantability. No guarantees of suitability for any purpose. By using this plugin, you agree that in no event will the copyright holder be liable for any damages resulting from the use of this software. Use at your own risk!
1. 目次 | |netrw-contents| |
2. Netrw の準備 | |netrw-start| |
3. Netrw リファレンス | |netrw-ref| |
外部プログラムとプロトコル | |netrw-externapp| |
讀み込み | |netrw-read| |
書き込み | |netrw-write| |
スクリプト實行 | |netrw-source| |
ディレクトリのファイル一覽表示 | |netrw-dirlist| |
USERID と PASSWORD を變更 | |netrw-chgup| |
NETRW の變數と設定 | |netrw-variables| |
パス | |netrw-path| |
4. ネットワークファイル轉送 | |netrw-xfer| |
NETRC | |netrw-netrc| |
パスワード | |netrw-passwd| |
5. netrw の有效化 | |netrw-activate| |
6. 透過的なリモートファイル編輯 | |netrw-transparent| |
7. Ex コマンド | |netrw-ex| |
8. 變數とオプション | |netrw-settings| |
9. ブラウジング | |netrw-browse| |
ブラウジングの紹介 | |netrw-intro-browse| |
クイックリファレンス: マップ | |netrw-browse-maps| |
クイックリファレンス: コマンド | |netrw-browse-cmds| |
バナーの表示を切り替へる | |netrw-I| |
ディレクトリをブックマークする | |netrw-mb| |
ブラウジング | |netrw-cr| |
現在のツリー表示ディレクトリを閉ぢる | |netrw-s-cr| |
水平分割ウィンドウを使つたブラウジング | |netrw-o| |
タブを使つたブラウジング | |netrw-t| |
垂直分割ウィンドウを使つたブラウジング | |netrw-v| |
一覽表示スタイル變更 (thin wide long tree) | |netrw-i| |
ブックマークしたディレクトリに移動 | |netrw-gb| |
前方のディレクトリに移動 | |netrw-u| |
後方のディレクトリに移動 | |netrw-U| |
特殊ハンドラでブラウジングをカスタマイズ | |netrw-x| |
ブックマークの削除 | |netrw-mB| |
ファイル/ディレクトリの削除 | |netrw-D| |
ディレクトリ探査コマンド | |netrw-explore| |
スターとパターンを使つた探索 | |netrw-star| |
ファイルの情報を表示する | |netrw-qf| |
隱しリストを編輯する | |netrw-ctrl-h| |
ソートシーケンスを編輯する | |netrw-S| |
取扱ひをファイルまたはディレクトリに强制する | |netrw-gd| |netrw-gf| |
親ディレクトリに移動する | |netrw--| |
ファイル/ディレクトリを隱す | |netrw-a| |
ブラウジングを改善する | |netrw-ssh-hack| |
ブックマークと履歷を一覽表示する | |netrw-qb| |
新しいディレクトリを作成する | |netrw-d| |
ブラウジングディレクトリをカレントディレクトリにする | |netrw-c| |
ファイルをマークする | |netrw-mf| |
ファイルのマークを外す | |netrw-mF| |
ロケーションリストを使つてファイルをマークする | |netrw-qL| |
QuickFix リストを使つてファイルをマークする | |netrw-qF| |
正規表現を使つてファイルをマークする | |netrw-mr| |
マークファイル: シェルコマンド | |netrw-mx| |
マークファイル: 一括シェルコマンド | |netrw-mX| |
マークファイル: Vimコマンド | |netrw-mv| |
マークファイル: 引數リスト | |netrw-ma| |netrw-mA| |
マークファイル: バッファリスト | |netrw-cb| |netrw-cB| |
マークファイル: 壓縮と伸暢 | |netrw-mz| |
マークファイル: コピー | |netrw-mc| |
マークファイル: Diff | |netrw-md| |
マークファイル: 編輯 | |netrw-me| |
マークファイル: Grep | |netrw-mg| |
マークファイル: 擴張子による表示/非表示 | |netrw-mh| |
マークファイル: 移動 | |netrw-mm| |
マークファイル: 印刷 | |netrw-mp| |
マークファイル: スクリプト實行 | |netrw-ms| |
マークファイル: ターゲットディレクトリを設定する | |netrw-mt| |
マークファイル: タグ生成 | |netrw-mT| |
マークファイル: ブックマークを使つたターゲットディレクトリ | |netrw-Tb| |
マークファイル: 履歷を使つたターゲットディレクトリ | |netrw-Th| |
マークファイル: マーク解除 | |netrw-mu| |
Netrw ブラウザー變數 | |netrw-browser-var| |
Netrw ブラウザーとオプション設定の互換性 | |netrw-incompatible| |
Netrw 設定ウィンドウ | |netrw-settings-window| |
ファイルを取得する | |netrw-O| |
プレビューウィンドウ | |netrw-p| |
以前のウィンドウ | |netrw-P| |
一覽を更新する | |netrw-ctrl-l| |
ソートの順番を逆にする | |netrw-r| |
ファイル/ディレクトリの名前を變更する | |netrw-R| |
ソートの種類を變更する | |netrw-s| |
ファイルを開くウィンドウを指定する | |netrw-C| |
10. 問題と對策 | |netrw-problems| |
11. Netrw をデバッグする | |netrw-debug| |
12. 變更履歷 | |netrw-history| |
13. Todo | |netrw-todo| |
14. クレジット | |netrw-credits| |
Netrw を使ふとファイルの讀み込み、書き込み、ネットワークを通したブラウジング、ローカルファイルのブラウジングが簡單になります。最初に、プラグインが有效になつてゐるかどうかを確認してください。最低限、次のやうな設定が <.vimrc> に必要です: (なつてゐない場合は |netrw-activate| を參照してください)
set nocp " 'compatible' をオフにする filetype plugin on " プラグインを有效にする
(|'cp'| と |:filetype-plugin-on| も參照してください)
Netrw は url を使ふことで他のマシンのファイルを透過的に扱ふことができます (|netrw-transparent| 參照)。例へば、別のマシンにアカウントを持つてゐて、scp が使へるなら、次のやうにしてアクセスできます:
vim scp://hostname/path/to/file
ssh/scp による接續を簡單にしたい場合は |netrw-ssh-hack| を確認してください。
ssh/scp ではなく ftp の場合はどうでせうか? もちろん簡單にできます:
vim ftp://hostname/path/to/file
ftp によるアクセスを簡單にしたい場合は <.netrc> ファイルを使つてください (あなたの ftp がそれをサポートしてゐるなら)。通常、それはユーザーのホームディレクトリにあつて、ユーザーだけが讀み書きできるやうなパーミッションになつてゐます。中身は次のやうなテキストです:
machine HOSTNAME login USERID password "PASSWORD" machine HOSTNAME login USERID password "PASSWORD" ... default login USERID password "PASSWORD"
Windows の ftp は .netrc をサポートしてゐません。しかし、.vimrc に次のやうに書いておくことができます:
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\MyUserName\MACHINE'
netrw は、開かうとしてゐる url からホストのマシン名を取得し、MACHINE に置き換へます。これにより、c:\Users\MyUserName\MachineName にあるそれぞれのサイトごとの個別のファイルで以下の項目を指定できます:
userid password
どのやうなファイルがあるかを確認してからファイルを開きたい場合はブラウザーを使ひます。ローカルホストのファイルを見たい場合は單にディレクトリを開きます:
vim . vim /home/userid/path
リモートホストのファイルを見たい場合も單にディレクトリを開きます (ただしディレクトリ名の末尾に "/" を付けてください):
vim scp://hostname/ vim ftp://hostname/path/to/dir/
詳細は |netrw-browse| を參照。
scp や ftp 以外のプロトコルもサポートされてゐます。次の項 |netrw-externapp| では、それらの外部アプリケーションの使用方法を說明してゐます。
プラグインを有效にしてゐるときに netrw だけを無效にしたい場合は、netrw のプラグインファイルと自動ロードファイルの兩方が讀み込まれないやうにする必要があります。<.vimrc> に次の設定を書いてください:
:let g:loaded_netrw = 1 :let g:loaded_netrwPlugin = 1
Netrw は |netrw-start| で說明した scp や ftp 以外のプロトコルもサポートしてゐます。サポートされてゐるのは dav, fetch, http などです。|netrw-externapp| の一覽を見てください。各プロトコルには變數が關聯付けられてゐて、變數にはそのプロトコルをサポートしてゐる外部プログラムが設定されます。
プロトコル | 變數 | 初期設定 | |
---|---|---|---|
dav: | g:netrw_dav_cmd | = "cadaver" | もしも cadaver があるなら |
= "curl -o" | または curl があるなら | ||
fetch: | g:netrw_fetch_cmd | = "fetch -o" | もしも fetch があるなら |
ftp: | g:netrw_ftp_cmd | = "ftp" | |
http: | g:netrw_http_cmd | = "elinks" | もしも elinks があるなら |
= "links" | もしも links があるなら | ||
= "curl" | もしも curl があるなら | ||
= "wget" | もしも wget があるなら | ||
= "fetch" | もしも fetch があるなら | ||
http: | g:netrw_http_put_cmd | = "curl -T" | |
rcp: | g:netrw_rcp_cmd | = "rcp" | |
rsync: | g:netrw_rsync_cmd | = "rsync" | (|g:netrw_rsync_sep| を參照) |
scp: | g:netrw_scp_cmd | = "scp -q" | |
sftp: | g:netrw_sftp_cmd | = "sftp" | |
file: | g:netrw_file_cmd | = "elinks" または "links" |
g:netrw_http_xcmd : http://... プロトコルで使用するオプションはこの變數で指定できます。コマンドに合はせて設定を變更してください。初期設定は各コマンドに合はせて次のやうになります:
elinks : "-source >" links : "-dump >" curl : "-L -o" wget : "-q -O" fetch : "-o"
例へば、あなたのシステムに elinks がインストールされてゐるとき、(html ソースではなく) レンダリングされたテキストを見たい場合は、.vimrc で次のやうに設定するといいでせう
let g:netrw_http_xcmd= "-dump >"
g:netrw_http_put_cmd: このオプションは實行ファイルとそれに必要なオプションを兩方指定します。このコマンドは url に對して PUT 操作を實行します。
通常のコマンドで url を使ふことができます。例:
:e ftp://[user@]machine/path
Nread コマンドも用意されてゐます:
:Nread ? | ヘルプ表示 |
:Nread "machine:path" | rcp を使ふ |
:Nread "machine path" | ftp w/ <.netrc> を使ふ |
:Nread "machine id password path" | ftp を使ふ |
:Nread "dav://machine[:port]/path" | cadaver を使ふ |
:Nread "fetch://[user@]machine/path" | fetch を使ふ |
:Nread "ftp://[user@]machine[[:#]port]/path" | ftp w/ <.netrc> を使ふ |
:Nread "http://[user@]machine/path" | http, wget を使ふ |
:Nread "rcp://[user@]machine/path" | rcp を使ふ |
:Nread "rsync://[user@]machine[:port]/path" | rsync を使ふ |
:Nread "scp://[user@]machine[[:#]port]/path" | scp を使ふ |
:Nread "sftp://[user@]machine/path" | sftp を使ふ |
ファイルを保存するときにも url を使ふことができます。例:
:w ftp://[user@]machine/path
Nwrite コマンドも用意されてゐます:
:Nwrite ? | ヘルプ表示 |
:Nwrite "machine:path" | rcp を使ふ |
:Nwrite "machine path" | ftp w/ <.netrc> を使ふ |
:Nwrite "machine id password path" | ftp を使ふ |
:Nwrite "dav://machine[:port]/path" | cadaver を使ふ |
:Nwrite "ftp://[user@]machine[[:#]port]/path" | ftp w/ <.netrc> を使ふ |
:Nwrite "rcp://[user@]machine/path" | rcp を使ふ |
:Nwrite "rsync://[user@]machine[:port]/path" | rsync を使ふ |
:Nwrite "scp://[user@]machine[[:#]port]/path" | scp を使ふ |
:Nwrite "sftp://[user@]machine/path" | sftp を使ふ |
http: はサポートされてゐません!
スクリプトを實行するときにも url を使ふことができます。例:
:so ftp://[user@]machine/path
Nsource コマンドも用意されてゐます:
:Nsource ? | ヘルプ表示 |
:Nsource "dav://machine[:port]/path" | cadaver を使ふ |
:Nsource "fetch://[user@]machine/path" | fetch を使ふ |
:Nsource "ftp://[user@]machine[[:#]port]/path" | ftp w/ <.netrc> を使ふ |
:Nsource "http://[user@]machine/path" | http, wget を使ふ |
:Nsource "rcp://[user@]machine/path" | rcp を使ふ |
:Nsource "rsync://[user@]machine[:port]/path" | rsync を使ふ |
:Nsource "scp://[user@]machine[[:#]port]/path" | scp を使ふ |
:Nsource "sftp://[user@]machine/path" | sftp を使ふ |
ディレクトリを開くことでファイル一覽をブラウズできます:
:e scp://[user]@hostname/path/ :e ftp://[user]@hostname/path/
リモートのディレクトリを開くときは末尾の "/" が必ず必要です (netrw は末尾のスラッシュよつてファイルのダウンロードかディレクトリのブラウズかを判斷します)。
Nread コマンドを使ふこともできます (繰り替へしますが、末尾にはスラッシュが必要です):
:Nread [protocol]://[user]@hostname/path/
ftp を使ふと user-id と password を入力するプロンプトが表示されます。それらはグローバル變數の |g:netrw_uid| と |s:netrw_passwd| に記錄されます。記錄された ID とパスワードは次に ftp を使ふときに再使用されます。他の id/password を使ふ必要が出てきた場合は |NetUserPass()| 函數を呼び出してください。
パスワードの入力を省略したい場合は ftp が <.netrc>ファイルをサポートしてゐるかどうか確認してください。|netrw-passwd| も參照 (ssh/scp でパスワードを省略したい場合は |netrw-ssh-hack| を參照)。
:NetUserPass [uid [password]] -- password 入力 (必要なら uid も) :call NetUserPass() -- uid と password 入力 :call NetUserPass("uid") -- password 入力 :call NetUserPass("uid","password") -- uid と password 設定
(關聯項目: |ftp| |netrw-userpass| |netrw-start|)
(以下も參照:
|netrw-browser-var| | netrw ブラウザーのオプション變數 |
|netrw-protocol| | ファイル轉送プロトコルのオプション變數 |
|netrw-settings| | 追加のファイル轉送オプション |
|netrw-browser-options| | これらのオプションはディレクトリブラウジングに影響する |
)
Netrw にはたくさんの變數が用意されてゐて、好きなやうにカスタマイズできます。:NetrwSettings
コマンド (|netrw-settings| 參照) を使ふと、現在の netrw の設定が表示されます。ほとんどの設定は下記、または |netrw-browser-options|、そして |netrw-externapp| で說明されてゐます。
最後に讀み書きされたネットワークファイルがバッファごとに記錄される。(:Nw で使はれる)
netrw バッファのオプション設定
(初期設定) noma nomod nonu nowrap ro nobl
ファイルを開くときに使用するウィンドウの番號を指定する。(|netrw-C| も參照)
(初期設定) -1
ファイルを開くときに呼ばれる函數 (複數可) を指定する。まづファイルが開かれ、それから指定された函數參照 (|Funcref|) が呼ばれる。複數指定する場合は函數參照のリスト (|List|) を指定する。
(初期設定) 定義なし。
(g:Netrw... で大文字が使はれてゐますが、これは函數參照を保存するために必要です)
例: .vimrc で次のやうに設定します。すべてのファイルを開く操作に作用します。
fun! MyFuncRef() endfun let g:Netrw_funcref= function("MyFuncRef")
ユーザー定義のマッピングや設定を行ふ函數か函數のリスト (|List|) を指定します。|netrw-usermaps| 參照。
變數が存在しない場合はデフォルト ftp 使用
=0 デフォルト ftp を使ふ (uid password) =1 ftp の別方式を使ふ (user uid password)
ftp の使用に問題があるときにこの變數を設定して ftp の別方式を試してください。
初期設定では、對話プロンプトを無效化して、ftp が 初囘の接續時に自動的にログインを試みるのを抑制するやうに設定されてゐる。しかし、すべての ftp の實裝がこれをサポートしてゐるわけではない。(例: ncftp)
="-i -n"
初期設定: なし
この變數に設定された文字列は ftp コマンドとして送信されます。例:
="passive"
="binary" (初期設定)
="ascii"
=0 (linux と cygwin での初期設定)
=1 <.netrc> ファイルが機能しないのでそれを無視したい場合にこの値を設定します (Windoes + cmd.exe での初期設定)。
=0 netrw のメニューを使ふ
=1 (初期設定) netrw のメニューを使はない
この變數が存在する場合、"gx" マップは定義されません。(|netrw-gx| 參照)
(ftp) user-id Vim セッションごとに記錄される
(ftp) password Vim セッションごとに記錄される
=0 (初期設定) プレビューウィンドウを水平分割で表示する
=1 プレビューウィンドウを垂直分割で表示する。
"直前のウィンドウ" (|netrw-P| 參照) にも作用します。 |g:netrw_alto| 變數を使へば、もつと詳細に分割を制禦できます:
g:netrw_preview | g:netrw_alto | 結果 |
---|---|---|
0 | 0 | |:aboveleft| |
0 | 1 | |:belowright| |
1 | 0 | |:topleft| |
1 | 1 | |:botright| |
サイズを制禦するには |g:netrw_winsize| を參照。
= "-P" : scp のポート番號を設定するためのオプション
= "-p" : ssh のポート番號を設定するためのオプション
=\0xff
=\0x01 enc == euc-jp 向け。(この値を使つた方がいい文字コードが他にもあるなら、知らせてください)
內部處理で優先番號とファイル名を區切るのに使はれる。|netrw-p12| 參照。
=0 : 普通に轉送處理をする
=1 : 靜か (silent) に轉送處理をする
=1 : netrw のメッセージ表示に別ウィンドウを使ふ。メッセージが確實に表示されます (初期設定)。
=0 : netrw のメッセージ表示に echoerr を使ふ。表示されたメッセージを確認できないことがあるかもしれませんが、ウィンドウを閉ぢる必要がありません。
=1 Win95 で、OS 附屬の ftp が出力の末尾に書き出す四行の空行を削除する。
=0 普通に ftp を使用する (末尾の行を削除しない)
=1 windows で cygwin 附屬の scp を想定する。また、ネットワークブラウジングで ls を使つた時閒とサイズによるソートを可能にする (windowsでの初期設定)。
=0 Windows の scp が Windows 形式のパスを扱へると想定する。ネットワークブラウジングでは ls ではなく dir を使用する。このオプションは unix では無視されます。
=0 WinNT、Win2000、WinXP の rcp を使はない
=1 WinNT の rcp をバイナリモードで使ふ (初期設定)
ほとんどのプロトコルではパスはユーザーディレクトリからの相對パスです。(所定のディレクトリからの相對パスとして扱ふプロトコルもあります)
例: vim scp://user@host/somefile 例: vim scp://user@host/subdir1/subdir2/somefile
"somefile" は "user" のホームディレクトリの中です。ルートからのパスを指定したい場合は絕對パスを指定してください:
例: vim scp://user@host//somefile 例: vim scp://user@host//subdir1/subdir2/somefile
Vim におけるネットワークファイルの轉送機能は Vim script で實裝されたプラグインで提供されてゐます (<netrw.vim>)。これは rcp, ftp or ftp+<.netrc>, scp, fetch, dav/cadaver, rsync, sftp などを使つてネットワークファイルの讀み書きを實現してゐます。
http については wget or fetch による讀み込みだけがサポートされてゐます。
<netrw.vim> は標準プラグインです。Vim と樣々なファイル轉送プログラムをつなぐ役割をします。自動コマンドイベント (BufReadCmd、FileReadCmd、BufWriteCmd) を使つて、url 指定によるファイルの讀み書き處理を橫取りします。
例: vim ftp://hostname/path/to/file
コロンより前の文字列がプロトコルを示します (この例では ftp)。<netrw.vim> スクリプトは、實際にファイルを轉送する外部プログラム (ftp, scp など) のコマンドを作成します。ファイルは一時ファイル (Unix/Linux では /tmp/...) を經由して讀み書きされます。一時ファイルは <netrw.vim> によつて後始末されます。
"FTP User Name and Password Disclosure" における Jan Minář 氏の說明によると、ftp はセキュアなプロトコルではなく、ユーザー名とパスワードはインターネットの中を "そのまま" 流れ、そしてそれは盜聽ツールで盜むことが可能である。これは netrw の問題ではなく ftp の問題です。この問題が心配なら ftp ではなく scp や sftp を使ふやうにしてください。
Netrw は同じ Vim セッション中で同じホスト名が使はれてゐる閒はユーザー ID とパスワードを使ひまはします。
Jan は netrw における ftp の處理を多少誤解してゐるやうです。通常、1 つの "ftp セッション" では複數のコマンドが實行されます。彼は uid/password は 1 つの ftp セッションの閒だけ保持されるべきだと考へてゐるやうです。しかし、netrw は ftp 操作をするために複數の "ftp セッション" を使ひます。そのため、uid/password を 1 つの "ftp セッション" の閒だけ保持しておくといふのは、uid/password を保持しないのと變はりません。さうなれば、例へばリモートディレクトリをブラウズするやうな操作はすぐに嫌氣が差してしまふでせう。
他方、Jan M 氏には感謝を捧げたいと思ひます。"細工された(crafted)" ファイル名の處理における netrw (と vim 自身) の多くの脆弱性を指摘してくれました。その問題に對處するために |shellescape()| 函數と |fnameescape()| 函數が Bram Moolenaar 氏によつて書かれ、netrw をそれらを使ふやうに變更されました。ただ 1 つアドバイスをするとすれば、ファイル名が vim コマンドのやうに見えて怪しいと感じたら、それを開いてはいけません。
プロトコルを扱ふ外部プログラムは變數を設定することで變更できます (例へば、scp なら g:netrw_scp_cmd を設定します。初期設定は "scp -q" です)。例へば、PuTTY を使ふ場合は次のやうに設定します:
let g:netrw_scp_cmd = '"c:\Program Files\PuTTY\pscp.exe" -q -batch' let g:netrw_sftp_cmd= '"c:\Program Files\PuTTY\psftp.exe"'
Note:
Windows 7 では putty v0.6 の "-batch" オプションが機能しないといふ報告があつたので、そのやうなシステムではオプションを使はないやうにするといいでせう。
putty, pscp, psftp 等に關する說明は |netrw-p8| 參照。
Ftp (古いプロトコル) は多くの實裝に惠まれました。しかし殘念ながら、ゐまいちな實裝もあります (例へばファイル末尾にノイズが付くなど)。そのやうな實裝を使ふ場合は NetReadFixup() 函數を定義することで、ftp 讀み込み後にノイズを除去することができます。いくつかの Unix システム (FreeBSD など) では "fetch" といふユーティリティが提供されてゐて、それはノイズがないので <netrw.vim> で使ふには適してゐます。したがつて、もし "fetch" が利用可能 (つまり實行可能) なら、ftp://... の轉送には "fetch" を使ふのが望ましいでせう。
rcp, scp, sftp, http ではネットワークファイルを透過的に扱へます。例:
vim rcp://[user@]machine/path vim scp://[user@]machine/path
ftp が <.netrc> をサポートしてゐて、マシン名、ユーザー名、パスワードが設定されてゐるなら、ftp でも透過的にファイルを扱へます。ただし、ftpが自動的に <.netrc> ファイルを使ふやうになつてゐる必要があります。
vim ftp://[user@]machine[[:#]portnumber]/path
Windows には ftp (通常は c:\Windows\System32\ftp.exe) を用意されてゐます。Windows の ftp には -s:filename オプションがあつて (filename はフルパス指定)、そのファイルに書かれたコマンドを ftp 開始時に實行することができます。この機能を使つて 1 つのサイトに對してユーザー名とパスワードを指定することができます:
userid password
もしも、|g:netrw_ftp_cmd| が -s:[path/]MACHINE を含んでゐたら、netrw は MACHINE を ftp 接續がリクエストされたカレントマシン名に置き換へます。そのため、マシンごとに ftp 用のユーザー名とパスワードを分けることができます。例:
let g:netrw_ftp_cmd= 'c:\Windows\System32\ftp -s:C:\Users\Myself\MACHINE'
vim ftp://myhost.somewhere.net/
これは次のファイルが使はれます
C:\Users\Myself\myhost.ftp
ftp を使ふときは userid と password を聞かれることがあります。パスワードの入力は無表示で行はれます (畫面には入力した文字の代はりにアスタリスクが表示される)。userid と password は記錄され、次に同じマシンにアクセスするときにはプロンプトは表示されません。
+=================================+============================+============+ | Reading | Writing | Uses | +=================================+============================+============+ | DAV: | | | | dav://host/path | | cadaver | | :Nread dav://host/path | :Nwrite dav://host/path | cadaver | +---------------------------------+----------------------------+------------+ | DAV + SSL: | | | | davs://host/path | | cadaver | | :Nread davs://host/path | :Nwrite davs://host/path | cadaver | +---------------------------------+----------------------------+------------+ | FETCH: | | | | fetch://[user@]host/path | | | | fetch://[user@]host:http/path | Not Available | fetch | | :Nread fetch://[user@]host/path| | | +---------------------------------+----------------------------+------------+ | FILE: | | | | file:///* | file:///* | | | file://localhost/* | file://localhost/* | | +---------------------------------+----------------------------+------------+ | FTP: (*3) | (*3) | | | ftp://[user@]host/path | ftp://[user@]host/path | ftp (*2) | | :Nread ftp://host/path | :Nwrite ftp://host/path | ftp+.netrc | | :Nread host path | :Nwrite host path | ftp+.netrc | | :Nread host uid pass path | :Nwrite host uid pass path | ftp | +---------------------------------+----------------------------+------------+ | HTTP: wget is executable: (*4) | | | | http://[user@]host/path | Not Available | wget | +---------------------------------+----------------------------+------------+ | HTTP: fetch is executable (*4) | | | | http://[user@]host/path | Not Available | fetch | +---------------------------------+----------------------------+------------+ | RCP: | | | | rcp://[user@]host/path | rcp://[user@]host/path | rcp | +---------------------------------+----------------------------+------------+ | RSYNC: | | | | rsync://[user@]host/path | rsync://[user@]host/path | rsync | | :Nread rsync://host/path | :Nwrite rsync://host/path | rsync | | :Nread rcp://host/path | :Nwrite rcp://host/path | rcp | +---------------------------------+----------------------------+------------+ | SCP: | | | | scp://[user@]host/path | scp://[user@]host/path | scp | | :Nread scp://host/path | :Nwrite scp://host/path | scp (*1) | +---------------------------------+----------------------------+------------+ | SFTP: | | | | sftp://[user@]host/path | sftp://[user@]host/path | sftp | | :Nread sftp://host/path | :Nwrite sftp://host/path | sftp (*1) | +=================================+============================+============+
:Nread
コマンドと :Nwrite
コマンドには複數のファイル名を指定できます。
<.netrc> ファイル (普通はホームディレクトリある) には、ホスト (マシン) と userid/password を關聯付ける設定を書くことができます。
<.netrc> ファイルの一般的な書式は次のとほりです。Unix の ftp は通常は <.netrc> をサポートしてゐます。Windows の ftp は通常は <.netrc> をサポートしてません。
machine {full machine name} login {user-id} password "{password}" default login {user-id} password "{password}"
ftp が自動的に <.netrc> ファイルを使ふやうになつてゐる必要があります。<.netrc> ファイルが存在する場合は、ftp 轉送において user-id と password は聞かれません。
Note:
このファイルにはパスワードが含まれてゐるので、他の誰もファイルを讀めないやうにしてください。ほとんどのプログラムは他人が讀むことができる .netrc ファイルの使用を拒否します。システム管理者は常にそのファイルを讀めるといふことを忘れずに。例へば、Linux/Unix では次のやうに設定します:chmod 600 .netrc
Windows の ftp クライアントは .netrc をサポートしてゐませんが、netrw には囘避策があります。|netrw-windows-s| を參照してください。
ftp でパスワードが必要なときは Vim の組み込み函數 |inputsecret()| による非表示入力が使はれます。パスワードを設定した後でそれを變更したい場合は |netrw-userpass| を參照してください。
殘念ながら、scp にパスワードを渡す方法はありません。scp を使ふときはファイルの轉送の度にパスワードを入力する必要があります。この問題については |netrw-ssh-hack| が役に立つかもしれません。
ネットワークファイル轉送は |'nocompatible'| が設定されてゐればデフォルトで利用可能です。netrw のスクリプトファイルはシステムのランタイムディレクトリにあります。Vim の起動時には plugin/netrwPlugin.vim だけが讀み込まれます。メインスクリプトの autoload/netrw.vim は、實際に netrw が使用されたときに讀み込まれます。次の (最低限の) 設定を <.vimrc> ファイルに書いておくことをお勸めします:
set nocp if version >= 600 filetype plugin indent on endif
さらに次の設定を <.vimrc> ファイルに書くことで、[g]vim をファイル名なしで起動したとき netrw は卽座に有效化され、カレントディレクトリを表示します:
" Augroup VimStartup: augroup VimStartup au! au VimEnter * if expand("%") == "" | e . | endif augroup END
ネットワークファイルの轉送は、ファイルを讀み書きするときに |:autocmd| の |BufReadCmd|, |BufWriteCmd|, |SourceCmd| イベントによつて透過的に處理されます。それによつて、ローカルファイルと同じくらゐ簡單にネットワークファイルを讀み込み、書き込み、スクリプト實行することができます。
vim ftp://[user@]machine/path ... :wq
netrw のやうなプラグインの使用方法は |netrw-activate| を參照してください。
一般的な讀み込み/書き込みコマンドがサポートされてゐます。それ以外のコマンドもいくつかあります。|netrw-transparent| で說明したやうに、通常はこれらのコマンドを使ふ必要はありません。次のやうに使つてください (|netrw-urls| 參照):
:e URL :r URL :w URL
以下の說明では、{netfile} はリモートファイルの url を示します。
指定した範圍の行を b:netrw_lastfile が示すファイルに保存する。(關聯: |netrw-nwrite|)
指定した範圍の行を {netfile} に保存する。
b:netrw_lastfile が示すファイルをカレントバッファに讀み込む。(關聯: |netrw-nread|)
{netfile} を現在行の下に讀み込む。
{netfile} をスクリプトとして實行する。リモートの .vimrc を使つて vim を起動するには、次のやうにします (實際にはすべて 1 行です) (Antoine Mechelynck ありがたう)
vim -u NORC -N --cmd "runtime plugin/netrwPlugin.vim" --cmd "source scp://HOSTNAME/.vimrc"
(關聯: |netrw-source|)
g:netrw_uid と s:netrw_passwd が存在しない場合は、入力プロンプトが表示されます。(關聯: |netrw-userpass|)
g:netrw_uid を設定します。password がない場合は、入力プロンプトが表示されます。(關聯: |netrw-userpass|)
g:netrw_uid と s:netrw_passwd を設定します。user-idとpassword は ftp 轉送で使はれます。user-id と password に空文字列 ("") を指定すると、値を削除できます。(關聯: |netrw-userpass|)
このコマンドは |netrw-settings| で說明します。netrw の設定を表示し、netrw の動作を變更するために使用されます。
(參照: |netrw-options| |netrw-variables| |netrw-protocol| |netrw-browser-settings| |netrw-browser-options|)
<netrw.vim> スクリプトでは、ファイル轉送の動作を變更するためのオプションとして、いくつかの變數が定義されてゐます。通常、それらの變數を <.vimrc> ファイルの中で設定して使ひます。(|netrw-settings| |netrw-protocol| も參照)
オプション | 說明 |
---|---|
b:netrw_col | カーソル位置を保持する (NetWrite 使用時) |
g:netrw_cygwin | =1 windows の scp が cygwin のものと想定する (windows の初期設定) =0 windows の scp が windows スタイルのパスを扱へると想定する (その他の初期設定) |
g:netrw_ftp | =0 デフォルト ftp を使ふ (uid password) |
g:netrw_ftpmode | ="binary" (初期設定) ="ascii" |
g:netrw_ignorenetrc | =1 (初期設定)
<.netrc> を持つてゐて、しかしそれを使ひたくない場合にこの變數を設定する。この變數は値に關係なく存在するだけで作用する。 |
b:netrw_lastfile | 最近使用された method/machine/path を保持する |
b:netrw_line | 現在の行番號を保持する (NetWrite 使用時) |
g:netrw_silent | =0 普通にファイル轉送する =1 靜か (silent) にファイル轉送する |
g:netrw_uid | ftp の現在の user-id を保持する |
g:netrw_use_nt_rcp | =0 WinNT/2K/XP の rcp を使はない (初期設定) =1 WinNT/2K/XP の rcp を binary mode で使ふ |
g:netrw_win95ftp | =0 win95/98/ME/etc で unix-style ftp を使ふ =1 標準の ftp を使ふ |
netrw は次の變數を一時的に使用します。
變數 | 說明 |
---|---|
b:netrw_method | rcp/ftp+.netrc/ftp を示すインデックス |
w:netrw_method | (b:netrw_method と同じ) |
g:netrw_machine | 入力から得られたマシン名を保持 |
b:netrw_fname | アクセスするファイル名を保持 |
netrw は複數のプロトコルをサポートしてゐます。それぞれのプロトコルは以下の變數を使つて呼び出されます。變數はユーザーが變更することができます。
オプション | タイプ | 設定 | 說明 |
---|---|---|---|
netrw_ftp | 變數 | =變數なし | userid を "user userid" で設定 |
=0 | userid を "user userid" で設定 | ||
=1 | userid を "userid" で設定 | ||
NetReadFixup | 函數 | =變數なし | 變更しない |
=變數あり | ftp で取得したファイルを NetReadFixup() で自動的にフィルタする。 | ||
g:netrw_dav_cmd | 變數 | ="cadaver" | もしも cadaver があるなら |
g:netrw_dav_cmd | 變數 | ="curl -o" | もしくは curl があるなら |
g:netrw_fetch_cmd | 變數 | ="fetch -o" | もしも fetch があるなら |
g:netrw_ftp_cmd | 變數 | ="ftp" | |
g:netrw_http_cmd | 變數 | ="fetch -o" | もしも fetch があるなら |
g:netrw_http_cmd | 變數 | ="wget -O" | もしくは wget があるなら |
g:netrw_http_put_cmd | 變數 | ="curl -T" | |
|g:netrw_list_cmd| | 變數 | ="ssh USEPORT HOSTNAME ls -Fa" | |
g:netrw_rcp_cmd | 變數 | ="rcp" | |
g:netrw_rsync_cmd | 變數 | ="rsync" | |
g:netrw_rsync_sep | 變數 | ="/" | spec ファイルからホスト名を分割するのに使ふ |
g:netrw_scp_cmd | 變數 | ="scp -q" | |
g:netrw_sftp_cmd | 變數 | ="sftp" |
|g:netrw_ftp_cmd| と |g:netrw_sftp_cmd| は ftp プロトコルを處理するための外部プログラムを指定するオプションです。コマンドラインオプションを含めることもできます (passive mode の -p など)。例:
let g:netrw_ftp_cmd= "ftp -p"
ブラウジングは |g:netrw_list_cmd| を使つてサポートされます。"HOSTNAME" と書かれた部分は實際のホスト名に置換されます。
|g:netrw_ftp| と |netrw-fixup| の 2 つのオプションは、問題のある ftp クライアントを補助します。これらのオプションの使用方法を理解してもらふため、netrw が ftp からファイルを讀み込むときの仕組みを少し解說します。
ftp を使ふとき、netrw は次のどちらかのテキストを生成して一時ファイルに書き込みます。
g:netrw_ftp が未定義、または 1 以外 | g:netrw_ftp に 1 が設定されてゐる |
---|---|
open machine [port] | open machine [port] |
user userid password | userid password |
[g:netrw_ftpmode] | password |
[g:netrw_ftpextracmd] | [g:netrw_ftpmode] |
get filename tempfile | [g:netrw_extracmd] |
テンポラリファイルの名前を取得する |
|g:netrw_ftpmode| と |g:netrw_ftpextracmd| は任意です。
netrw は生成したテキストを次のやうなコマンドでフィルタします:
:%! {g:netrw_ftp_cmd} -i [-n]
ここでは g:netrw_ftp_cmd は通常は "ftp" です
-i | ftp を對話的に使はない |
-n | netrc を使はない。Method #3 を使ふ (<.netrc> 無しで ftp 使用) |
{譯注: Method #3 は |netrw-fixup| の a:method == 3}
<.netrc> が存在するとき、userid と password の入力を省略するためにそれが使はれます。轉送されたファイルは一時ファイルに保存されます。一時ファイルはメインのウィンドウに讀み込まれ、そして削除されます。
使用する ftp が "user" コマンドを受け付けず、直接に userid を入力する必要がある場合は、"let netrw_ftp=1" といふ設定を <.vimrc> に書いてください。
未承認サーバーのための SSL 證明書ダイアログを何とかするには、その證明書を取つてきて /usr/ssl/cert.pem に置いてください。この操作によつてサーバーが信用濟み扱ひになります。
使用してゐる ftp が何らかの理由で餘計な出力を出す場合 (例へば認證メッセージなど)、NetReadFixup() 函數を書いてください:
function! NetReadFixup(method,line1,line2) " a:line1: first new line in current file " a:line2: last new line in current file if a:method == 1 "rcp elseif a:method == 2 "ftp + <.netrc> elseif a:method == 3 "ftp + machine,uid,password,filename elseif a:method == 4 "scp elseif a:method == 5 "http/wget elseif a:method == 6 "dav/cadaver elseif a:method == 7 "rsync elseif a:method == 8 "fetch elseif a:method == 9 "sftp else " complain endif endfunction
NetReadFixup() 函數は定義するだけで呼び出されるやうになります。これにより讀み込みの處理をカスタマイズできます。例へば、<netrw.vim> の中では Windows 95 ftp の問題を囘避するために、この函數が定義されてゐます。なぜか Windows 95 の ftp は轉送ファイルの末尾に 4 行の空行を出力するので、それを取り除いてゐます。<netrw.vim> のコードは次のやうなものです:
if has("win95") && g:netrw_win95ftp fun! NetReadFixup(method, line1, line2) if method == 3 " ftp (no <.netrc>) let fourblanklines= line2 - 3 silent fourblanklines.",".line2."g/^\s*/d" endif endfunction endif
(關聯項目: |ftp| |netrw-userpass| |netrw-start|)
(クイックリファレンス: |netrw-quickmaps| |netrw-quickcoms|)
Netrw はローカルシステムとリモートホストのディレクトリのブラウジングをサポートしてゐます。ブラウジングの機能は、ファイルとディレクトリの一覽表示、ディレクトリへの移動、ファイルを開く、ファイルとディレクトリの削除、ディレクトリの作成、ファイルとディレクトリの移動 (名前の變更)、ファイルとディレクトリのコピー、などです。
ファイルを選擇し、任意のシステムコマンドを實行できます。
Netrw ブラウザーには以前のエクスプローラープラグインのマップとコマンドが實裝されてゐて、それはリモートディレクトリに對しても實行できます。ただし、細かい違ひはあります (グローバル變數の名前など)。ディレクトリをブラウズするには單にそれを開きます。
vim /your/directory/ vim . vim c:\your\directory\
(關聯情報: |netrw-cr| |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-mf| |netrw-mx| |netrw-D| |netrw-R| |netrw-v| )
Netrw リモートファイル/ディレクトリブラウザーは ssh と ftp の 2 つのプロトコルをサポートしてゐます。例へば url のプロトコルが ftp なら、netrw は ftp を使つてリモートブラウジングを實行します。ftp と ssh 以外のプロトコルを指定した場合は、それはファイル轉送になります。
Netrw リモートディレクトリブラウザーを使ふには、ファイルを開くときに名前の末尾にスラッシュを付けます。ディレクトリの表示要求として解釋されます:
vim [protocol]://[user@]hostname/path/
[protocol] は scp か ftp です。例:
vim ftp://ftp.home.vim.org/pub/vim/
ローカルディレクトリの場合は末尾のスラッシュは必要ではありません。付け忘れがよくあるのでもう一度言ひますが、リモートディレクトリをブラウズするときは url の末尾にスラッシュを付ける必要があります!
ssh か scp でリモートディレクトリを表示するたびにパスワードを入力したくない場合は |netrw-ssh-hack| を參照してください。ftp でパスワードの入力を省略したい場合は |netrw-netrc| を參照してください (ftp がそれをサポートしてゐるなら)。
次の操作でファイル一覽の表示方法を變更できます:
netrw で實行できる操作の一覽は |netrw-browse-cmds| を參照してください。
ローカルファイルを一覽表示するときは、|getftype()| 函數を使つて、ファイルタイプを示す裝飾文字が付加されます:
ディレクトリ | / |
實行ファイル | * |
fifo | | |
リンク | @ |
ソケット | = |
裝飾文字は |g:netrw_sort_sequence| にも影響します。
(ctrl-] を押すと項目を選擇できます)
ブラウジングの紹介 | |netrw-intro-browse| |
クイックリファレンス: マップ | |netrw-quickmap| |
クイックリファレンス: コマンド | |netrw-browse-cmds| |
ファイルを隱す | |
隱すファイルを設定する | |netrw-ctrl-h| |
ファイル/ディレクトリを隱す | |netrw-a| |
擴張子で表示/非表示 | |netrw-mh| |
ドットファイルを隱す | |netrw-gh| |
表示スタイル | |
表示スタイルの選擇 (thin/long/wide/tree) | |netrw-i| |
スタイル設定變數 | |g:netrw_liststyle| |
ファイル一覽取得に使はれるシェルコマンド | |g:netrw_list_cmd| |
ファイル情報表示 | |netrw-qf| |
ソート方法 | |
ソートスタイルの選擇 (name/time/size) | |netrw-s| |
ソートの優先順位を設定 | |netrw-S| |
ソートオプション | |g:netrw_sort_options| |
ソート優先順位設定變數 | |g:netrw_sort_sequence| |
逆順ソート | |netrw-r| |
マップ | 簡單な說明 | リンク |
---|---|---|
<F1> | Netrw のヘルプを開く | |
<cr> | ディレクトリに移動、またはファイルを開く | |netrw-cr| |
<del> | ファイル/ディレクトリを削除する | |netrw-del| |
<c-h> | 隱しファイルのパターンを編輯する | |netrw-ctrl-h| |
<c-l> | 最新の情報に更新する | |netrw-ctrl-l| |
<c-r> | gvim server を使つてブラウズする | |netrw-ctrl-r| |
<c-tab> | netrw ウィンドウ/エクスプローラーウィンドウを擴大・縮小する | |netrw-c-tab| |
- | 1 つ上のディレクトリに移動する | |netrw--| |
a | 隱しファイルの表示を切り替へる | |netrw-a| |
通常表示 | ||
隱す (g:netrw_list_hide にマッチしたファイルを表示しない) | ||
表示する (g:netrw_list_hide にマッチしたファイルのみ表示する) | ||
c | 表示中のディレクトリをカレントディレクトリにする | |netrw-c| |
C | ファイルを開くウィンドウを指定する | |netrw-C| |
d | ディレクトリを作成する | |netrw-d| |
D | ファイル/ディレクトリ (複數可) を削除する | |netrw-D| |
gb | 前のブックマークされたディレクトリに移動 | |netrw-gb| |
gd | 取扱ひをディレクトリに强制する | |netrw-gd| |
gf | 取扱ひをファイルに强制する | |netrw-gf| |
gh | ドットファイルの表示/非表示を切り替へる | |netrw-gh| |
i | 表示方法を切り替へる (thin, long, wide, tree) | |netrw-i| |
I | バナー表示をトグルする | |netrw-I| |
mb | カレントディレクトリをブックマークする | |netrw-mb| |
mc | マークしたファイルをターゲットディレクトリにコピー | |netrw-mc| |
md | マークしたファイルの差分を表示する (3 ファイルまで) | |netrw-md| |
me | マークしたファイルを引數リストに入れ編輯する | |netrw-me| |
mf | ファイルをマークする | |netrw-mf| |
mF | ファイルのマークを外す | |netrw-mF| |
mg | マークしたファイルに vimgrep を適用する | |netrw-mg| |
mh | マークしたファイルの擴張子を隱しリストに登錄/解除 | |netrw-mh| |
mm | マークしたファイルをターゲットディレクトリに移動 | |netrw-mm| |
mp | マークしたファイルを印刷する | |netrw-mp| |
mr | シェル形式正規表現 (|regexp|) でファイルをマークする | |netrw-mr| |
mt | 表示中のディレクトリをターゲットディレクトリにする | |netrw-mt| |
mT | マークしたファイルに對して ctags を實行 | |netrw-mT| |
mu | すべてのマークを解除する | |netrw-mu| |
mv | マークしたファイルに對して任意の Vim コマンドを實行 | |netrw-mv| |
mx | マークしたファイルに對して任意のシェルコマンドを實行 | |netrw-mx| |
mX | マークしたファイルに對して任意のシェルコマンドを一括實行 | |netrw-mX| |
mz | マークしたファイルを壓縮/伸暢する | |netrw-mz| |
o | カーソル位置のファイル/ディレクトリを新しいウィンドウで開く。水平分割。 | |netrw-o| |
O | カーソル位置のファイルを取得する | |netrw-O| |
p | ファイルをプレビューする | |netrw-p| |
P | 直前に使用していたウィンドウで開く | |netrw-P| |
qb | ブックマークと履歷の一覽を表示する | |netrw-qb| |
qf | ファイル情報を表示する | |netrw-qf| |
qF | QuickFix リストを使つてファイルをマークする | |netrw-qF| |
qL | |location-list| を使つてファイルをマークする | |netrw-qF| |
r | ソート順を逆にする | |netrw-r| |
R | ファイル/ディレクトリ(複數可)の名前を變へる | |netrw-R| |
s | ソート方法を變へる: name, time, file size | |netrw-s| |
S | 名前ソート時の擴張子の優先順位を設定する | |netrw-S| |
t | カーソル位置のファイル/ディレクトリを新しいタブで開く | |netrw-t| |
u | 最近訪れたディレクトリに移動する | |netrw-u| |
U | 次に訪れたディレクトリに移動する | |netrw-U| |
v | カーソル位置のファイル/ディレクトリを新しいウィンドウで開く。垂直分割。 | |netrw-v| |
x | 關聯付けられたプログラムでファイルを表示する | |netrw-x| |
X | カーソル位置のファイルを |system()| で實行する | |netrw-X| |
% | 表示してゐるディレクトリで新しいファイルを開く | |netrw-%| |
<leftmouse> | (gvim only) ファイルを選擇して <CR> を押したのと同じ。(ファイルを開く、ディレクトリに移動) |
<middlemouse> | (gvim only) ファイルを選擇して P を押したのと同じ。|netrw-P| 參照 |
<rightmouse> | (gvim only) 選擇したファイル/ディレクトリを削除する。 |
<2-leftmouse> | (gvim only) 使用できる條件:
netrw ブラウザーウィンドウに戾る。|g:netrw_retmap| 參照。 |
<s-leftmouse> | (gvim only) mf と同じ。ファイルをマークする。Shift を押したままマウスの左ボタンでドラッグすると複數のファイルを選擇できる。(|netrw-mf| 參照) |
(ブラウジング中にマウスボタンを無效化するには: |g:netrw_mousemaps|)
:NetrwClean[!] | |netrw-clean| |
:NetrwSettings | |netrw-settings| |
:Ntree | |netrw-ntree| |
:Explore[!] [dir] カレントファイルのディレクトリを開く | |netrw-explore| |
:Hexplore[!] [dir] 水平分割 & Explore | |netrw-explore| |
:Lexplore[!] [dir] 左エクスプローラー切り替へ | |netrw-explore| |
:Nexplore[!] [dir] 垂直分割 & Explore | |netrw-explore| |
:Pexplore[!] [dir] 垂直分割 & Explore | |netrw-explore| |
:Rexplore Explorer に戾る | |netrw-explore| |
:Sexplore[!] [dir] ウィンドウ分割 & Explore | |netrw-explore| |
:Texplore[!] [dir] タブ & Explore | |netrw-explore| |
:Vexplore[!] [dir] 垂直分割 & Explore | |netrw-explore| |
"I
" を押すことによつてバナーの表示を切り替へることができます。
參照: |g:netrw_banner|
次のコマンドで現在見てゐるディレクトリをブックマークできます
mb
ブックマークは Vim のセッション閒で、リスト (|List|) として .netrwbook と呼ばれれるファイルに保存されます。これは典型的に、ユーザーの ’runtimepath’ 中の最初のディレクトリに保存されてゐます。ブックマークは常にソートされます。
もしマークされたファイル/ディレクトリが存在すれば、mb はそれらをブックマークに追加します。
また、ファイルかディレクトリをブックマークするのに :NetrwMB
も使用できます。
:NetrwMB[!] [files/directories]
ファイル/ディレクトリを Netrw のブックマークシステムに追加します。
現在開いてゐるファイルをブックマークする
それぞれの引數を |glob()| し、ブックマークする
ファイル/ディレクトリをブックマークから削除する
:NetrwMB
コマンドは netrw バッファの外でも使用可能です (一度でも netrw がそのセッション中で起動されてゐれば)。
".netrwbook" ファイルは netrw (と vim) が起動されてゐない閒ブックマークを保持します。デフォルトでは |'runtimepath'| の最初のディレクトリに保存されます。
關聯項目:
ブラウジングは簡單です。ファイルまたはディレクトリの上にカーソルを移動して、<CR>
(リターンキー) を押すとファイルが開きます。ディレクトリを開くとそのファイル一覽が表示されます。ファイルを開くときには一覽表示で使はれたプロトコルが使用されます。
警告:
一覽表示には 4 つの方法があります (|netrw-i| 參照)。long/wide 表示では 2 つ以上のスペースでファイル名/ディレクトリ名を區切るので、ファイル名に 2 つ以上のスペースが含まれてゐる場合、あるいは名前の末尾にスペースが付いてゐる場合は、表示方法を "thin" にしてからファイルを選擇してください。
|g:netrw_browse_split| オプション (初期設定は0) を設定すると、ファイルを開くときの動作を、新しいウィンドウやタブを開くやうに變更できます。設定が 1 か 2 なら、ウィンドウはそれぞれ水平分割、垂直分割されます。設定が 3 なら、新しいタブでファイルが開きます。
gui (gvim) では <leftmouse> (左クリック) でファイルを選擇できます。また、
以上の條件を滿たすとき、左ダブルクリックで元の netrw ブラウザーウィンドウに戾ることができます。
ブラウジング、特にリモートブラウジングを效率よくするため、ディレクトリのファイル一覽バッファは再利用されます。この動作は |g:netrw_fastbrowse| 變數で制禦できます。低速ブラウジング (バッファ再利用なし)、中速ブラウジング (リモートディレクトリのみバッファ再利用)、高速ブラウジング (可能な限りバッファを再利用)、から選擇できます。 バッファ再利用の代償として、何か變更があつた (例へば新しいファイルが作成された) 場合でも、表示されるファイル一覽は古いままです。最新の情報に更新するには Ctrl-L (|netrw-ctrl-l| 參照) を押してください。
gvim でツリー表示をしてゐるとき (|netrw-i| 參照)、<s-cr> を使ふと、カーソルが置かれてゐるディレクトリを閉ぢることができます。
あるいは、この效果をユーザーが選擇したキーの組み合はせにリマップすることができます:
nmap <buffer> <silent> <nowait> YOURKEYCOMBO <Plug>NetrwTreeSqueeze
この行を $HOME
/ftplugin/netrw/netrw.vim に置いてください。netrw バッファのみに生成される必要があります。
關聯トピック: |netrw-ctrl-r| |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
關聯設定: |g:netrw_browse_split| |g:netrw_fastbrowse| |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd| |g:netrw_ftp_timelist_cmd| |g:netrw_ssh_browse_reject| |g:netrw_ssh_cmd| |g:netrw_use_noswf|
<CR> でファイル/ディレクトリを開くことができますが、代はりに "o" マップを使へばウィンドウを分割して開くことができます。ウィンドウは水平分割されます。(垂直分割は |netrw-v|)
通常、o
キーを押すと新しいウィンドウが上に分割されます。
關聯設定: |g:netrw_alto| |g:netrw_winsize|
關聯トピック: |netrw-ctrl-r| |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
關聯設定變數:
|g:netrw_alto| | 分割の方向 (上/下) を制禦 |
|g:netrw_winsize| | 初期サイズを制禦 |
<CR> でファイル/ディレクトリを開くことができますが、代はりに "t" マップを使へばそれを新しいタブで開くことができます。
バックグラウンドタブで新しく開きたい場合は |gT| を使ひます。
關聯トピック: |netrw-ctrl-r| |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
關聯設定變數:
|g:netrw_winsize| | 初期サイズを制禦 |
<CR> でファイル/ディレクトリを開くことができますが、代はりに "v" マップを使へばウィンドウを分割して開くことができます。ウィンドウは垂直分割されます。(水平分割は |netrw-o|)
通常、v
キーを押すと新しいウィンドウが左に分割されます。
1 つのディレクトリには 1 つのバッファが使はれます。"v" で表示濟みのサブディレクトリを開くとウィンドウは分割されますが、同じバッファが再び表示されます。
關聯トピック: |netrw-ctrl-r| |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
關聯設定變數:
|g:netrw_altv| | 分割の方向 (右/左) を制禦 |
|g:netrw_winsize| | 初期サイズを制禦 |
本機能はファイルを編輯する gvim とブラウジングする gvim を分けるものです。netrw ブラウザーの (ディレクトリではなく) ファイルの上で <c-r> マッピングを使用すると gvim server が使はれます (|g:netrw_servername| 參照)。續けて <CR>
(|netrw-cr| 參照) を押すとファイルを編輯するのにそのサーバーが再利用されます。
關聯項目: |netrw-ctrl-r| |netrw-o| |netrw-p| |netrw-P| |netrw-t| |netrw-v|
關聯設定:
|g:netrw_servername| | サーバー名をセットする |
|g:netrw_browse_split| | <CR> がどのやうにファイルを開くのか制禦する |
"i" マップを使ふと表示方法が thin, long, wide, tree と順番に切り替はります。
thin 形式ではファイル/ディレクトリの名前だけが表示されます。
long 形式は、リモートディレクトリの場合は ssh 經由で "ls" コマンドを實行した結果に基づいて表示され、ローカルディレクトリの場合はファイル名、ファイルサイズ (バイト單位)、最終變更日時が表示されます。long 形式では末尾にスペースが付いたファイル名を扱ふことができません。そのやうなファイルがあるときは thin 形式を使つてください。
wide 形式では 2 つ以上のスペースを使つてファイル名を區切つて表示します。この表示形式では、2 つ以上の連續したスペースが含まれてゐるファイル名、または末尾にスペースが付いてゐるファイル名を扱ふことができません。そのやうな場合は thin 形式を使つてください。wide 形式は最もコンパクトな表示形式です。
tree 形式ではトップディレクトリに續いてファイル/ディレクトリが、名前の前に 1 つ以上の "|" を付けて表示されます。これはディレクトリの深さを示します。ディレクトリの名前の所で <CR>
キーを押すと、そのディレクトリを開いたり閉ぢたりできます。
デフォルトの表示スタイルを變更できます。(|g:netrw_liststyle|) 參照。
例へば、次の行を .vimrc に書くと:
let g:netrw_liststyle= 3
ツリー形式の表示スタイルがデフォルトで使用されます。
ツリー形式を使ふ典型的な方法は以下の通りです:
vim . (ツリー形式になるまで i を使ふ) ファイルへ移動する v (垂直分割されたウィンドウで好きなやうに編輯する) ctrl-w h (netrw の一覽に戾るため) P (新しく選擇されたファイルを前のウィンドウで編輯する) ctrl-w h (netrw の一覽に戾るため) P (新しく選擇されたファイルを前のウィンドウで編輯する) ...etc...
關聯設定: |g:netrw_liststyle| |g:netrw_maxfilenamelen| |g:netrw_timefmt| |g:netrw_list_cmd|
"gp" を使ふと新しいパーミッションを入力するプロンプトが表示されます。カーソル位置のファイルのパーミッションを變更できます。現在、これはローカルファイルに對してのみ機能します。
關聯設定: |g:netrw_chgperm|
ブックマークしたディレクトリに移動するには、次のコマンドを使ひます。
{cnt}gb
カウントを付けてブックマークを指定することができます。
Note:
|netrw-qb| はブックマークと履歷を兩方表示します。履歷の場所に移動したい場合は |netrw-u| と |netrw-U| を參照してください。
關聯項目:
|netrw-mB| | ブックマークを削除する |
|netrw-mb| | ブックマークを設定する |
|netrw-qb| | ブックマークを一覽表示する |
ディレクトリを移動するとき (カレントセッションで新規の場合)、そのディレクトリは、最近表示したディレクトリの履歷リストに保存されます (|g:netrw_dirhistmax| が 0 でない場合に限る。初期設定は 10)。"u" マップを使用すると、前のディレクトリに移動できます。反對に移動したい場合は |netrw-U| を參照。
"u" マップはカウントを指定することができ、履歷の特定の位置に戾ることができます。qb (|netrw-qb| を參照) の一覽で表示される履歷の番號はこのカウントとして使へます。
履歷の量を制禦するには |g:netrw_dirhistmax| を參照。".netrwhist" ファイルは netrw (と vim) が起動されてゐない閒、履歷を保持します。デフォルトでは |'runtimepath'| の最初のディレクトリに保存されます。
關聯項目:
|netrw-U| | 次のディレクトリに進む |
|g:netrw_home| | .netrwhist が保存される場所を制禦する |
"U" マップを使用すると、次のディレクトリに移動できます。このマップは "u" マップの反對です (|netrw-u| 參照)。qb マップを使用するとブックマークと履歷の一覽を表示できます (|netrw-qb| 參照)。
"U" マップはカウントを指定することができ、履歷の特定の位置に進むことができます。
履歷の量を制禦するには |g:netrw_dirhistmax| を參照。
ツリー表示のツリーのトップを變更するには次のコマンドを使ひます
:Ntree [dirname]
"dirname" を指定しなかつた場合、現在行が使はれます (そして深さ情報は失はれる)。"dirname" を指定した場合、指定された名前が使はれます。
"gn" マップはカーソル位置の單語を取得し、ツリーのトップをそれに變更します。
NetrwClean を使ふと、ホームディレクトリから netrw を削除できます。正確には、|'runtimepath'| の最初のディレクトリから削除します。
:NetrwClean!
を使ふと、|'runtimepath'| のすべてのディレクトリから netrw を削除しようと試みます。これを行ふにはもちろん書込/削除權限が正しいものである必要があります。
どちらのコマンドも、本當に削除していいかどうかを確認するダイアログが最初に表示されます。ファイルを削除する權限がない場合はエラーメッセージが表示されます。
(|netrw_filehandler| も參照)
html, gif, jpeg, (word/office) doc などのファイルは專用ハンドラ (コンピュータにあらかじめ備はつてゐるやうなツール) で處理するのが一番です。Netrw ではそのやうな專用ハンドラの呼び出しをサポートしてゐます:
(後ろは |g:netrw_nogx| が設定されてゐる場合は使へません)
Netrw は次の方法で專用ハンドラを決定します:
:let g:netrw_browsex_viewer= "kfmclient exec"
もしくは
:let g:netrw_browsex_viewer= "xdg-open"
g:netrw_browsex_viewer が ’-’ のときは netrwFileHandler#Invoke() が最初に呼ばれます (|netrw_filehandler| 參照)。
これらの方法ではファイルを處理するためのアプリケーションは擴張子によつて決められます。例へば OpenOffice (*.sfx)、畫像表示 (*.jpg, *.gif, etc)、PostScript (*.ps, *.eps) などに對應可能です。
gx マッピングはすべてのバッファに適用できます。カーソル位置の單語に "gx" を適用すると、それに對し netrw は特別な處置を行ひます (ちやうど "x" が netrw バッファに對して行ふやうに)。
特別な處置を行ふテキストをビジュアルモード (|visual-start| 參照) により選擇することもできます。通常 gx はカーソル位置のテキストを取得するのに expand("<cfile>") を使用しますが、|g:netrw_gx| 變數で |expand()| が使用する引數を變へることができます ("<cword>", "<cWORD>" を含むオプション)。
Note:
expand("<cfile>") は |'isfname'| の設定に依存することに注意。
また、代はりに gx で使用するテキストを最初にビジュアル選擇を行つておくか、|'isfname'| オプション (グローバルなので netrw は變更しません) を變更することで選擇することもできます (|visual-block| 參照)。
關聯設定:
|g:netrw_gx| | gx がどのやうにカーソル位置のテキストを取得するか制禦する |
|g:netrw_nogx| | 編輯中 gx マップを無效にする |
|g:netrw_suppress_gx_mesg| | gx がブラウザーの出力を抑制するか制禦する |
|g:netrw_browsex_viewer| が存在し "-" である場合、netrw は特殊なファイルを vim の函數で處理しようと試みます。"x" マップはファイルの擴張子に應じて函數を呼び出します。ただし、あらかじめハンドラ函數を定義しておく必要があります! 例:
mypgm.html x -> NFH_html("scp://user@host/some/path/mypgm.html")
擴張子ごとのハンドラ函數を自分で定義できます。函數のサンプルは <autoload/netrwFileHandlers.vim> を參照してください。例:
" NFH_suffix(filename) " NFH_擴張子 (ファイル名) fun! NFH_suffix(filename) ..ファイル名に應じた處理... endfun
このやうな函數は .vim/plugin (vimfiles\plugin) ディレクトリ內のファイルで定義します。Vim では函數名に記號を含めることができません (アンダースコアは可)。記號を含む擴張子をサポートするため、擴張子は次のルールで變換されます:
@ -> AT ! -> EXCLAMATION % -> PERCENT : -> COLON = -> EQUAL ? -> QUESTION , -> COMMA - -> MINUS ; -> SEMICOLON $ -> DOLLAR + -> PLUS ~ -> TILDE
例:
file.rcs,v -> NFH_rcsCOMMAv()
他にも變換が必要な文字があるやうなら、メールでお知らせください:
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
關聯設定: |g:netrw_browsex_viewer|
ブックマークを削除するには、次のコマンドを使ひます
{cnt}mB
もしマークされたファイルが存在するなら、mB はそれらをブックマークリストから削除します。
一方で :NetrwMB! を使ふ人もゐるでせう (|netrw-:NetrwMB| 參照)。
:NetrwMB! [files/directories]
關聯項目:
|netrw-gb| | ブックマークに戾る (移動する) |
|netrw-mb| | ブックマークを設定する |
|netrw-qb| | ブックマークを一覽表示する |
ファイルが |netrw-mf| でマークされてゐない場合: (local marked file list)
ファイル/ディレクトリを削除するにはファイル名の上にカーソルを移動して "D" を押します。ディレクトリを削除する場合は中身が空でなければなりません。
ディレクトリがディレクトリへのソフトリンクだつた場合は、ディレクトリを削除するために 2 つのリクエストが實行されます。
netrw はファイルを削除する前に確認ダイアログを表示します。"V" コマンド (ビジュアル選擇) で範圍を選擇して "D" を使ふこともできます。
{譯注: > 2つのリクエスト rmdir <file> || rm <file> 的な處理}
ファイルが |netrw-mf| でマークされてゐる場合: (local marked file list)
マークされたファイル (と空ディレクトリ) が削除されます。netrw はファイルを削除する前に確認ダイアログを表示します。
パターンにマッチしたファイルを削除するには:
D
" を押す。
もしも Patch#1107 を適用した Vim 7.4 を使つてゐるなら、ディレクトリを削除するために |g:netrw_localrmdir| はもう使はれません。代はりに、Vim 自體の |delete()| が "d" オプションで使はれます。
どうか空のディレクトリは "D" マッピングで削除されるかもしれないことに注意してください。標準のファイルも |delete()| で削除されます。
リモートのファイルとディレクトリの削除には、|g:netrw_rm_cmd|, |g:netrw_rmf_cmd|, |g:netrw_rmdir_cmd| 變數が使はれます。|g:netrw_rm_cmd| はファイルの削除に使はれます。初期設定は次のとほり:
g:netrw_rm_cmd: ssh HOSTNAME rm
|g:netrw_rmdir_cmd| 變數はディレクトリの削除に使はれます。初期設定は次のとほり:
g:netrw_rmdir_cmd: ssh HOSTNAME rmdir
|g:netrw_rmdir_cmd| によるディレクトリの削除が失敗した場合は、g:netrw_rmf_cmd を使用した削除が試されます。初期設定は次のとほり:
g:netrw_rmf_cmd: ssh HOSTNAME rm -f
關聯項目: |netrw-d|
關聯設定: |g:netrw_localrmdir| |g:netrw_rm_cmd| |g:netrw_rmdir_cmd| |g:netrw_ssh_cmd|
:[N]Explore[!] [dir] | カレントファイルのディレクトリを開く |
:[N]Hexplore[!] [dir] | 水平分割で開く |
:[N]Lexplore[!] [dir] | 左エクスプローラーを切り替へる |
:[N]Sexplore[!] [dir] | カレントファイルのディレクトリを分割して開く |
:[N]Vexplore[!] [dir] | 垂直分割で開く |
:Texplore [dir] | タブで開く |
:Rexplore | エクスプローラーに/から戾る |
:Explore **/pattern で開いたときに使ふコマンド: (|netrw-starstar| 參照)
:Nexplore | 次のファイルに移動 |
:Pexplore | 前のファイルに移動 |
ローカルディレクトリブラウザーを開始してカレントファイルのディレクトリ (または [dir] で指定されたディレクトリ) を開きます。編輯中のファイルに未保存の變更があり ’hidden’ が設定されてゐない場合は新しいウィンドウを作成します。さうでない場合は同じウィンドウを使用します。通常、ウィンドウの分割は水平分割です。|netrw-:Rexplore| も參照。
:Explore と同じですが、ウィンドウを垂直分割します。
|:belowright| 水平分割を使つて :Explore を實行します。
|:aboveleft| 水平分割を使つて :Explore を實行します。
現在のタブの左側に、エクスプローラーウィンドウを開いたり閉ぢたりします。[dir] を省略したときは現在のディレクトリを開きます。:Lexplore [dir] は、どのウィンドウで實行したかに關係なく、タブの左側でブラウザーを開き、指定されたディレクトリを表示します。
初期設定では、:Lexplore は未初期化の |g:netrw_chgwin| を 2 に設定します。つまりファイルを開くときには 2 番目のウィンドウが使はれるやうになります。
[N] は新しい :Lexplore ウィンドウの |g:netrw_winsize| を示します。
この方法を好む人達はしばしばツリービューも好むでせう。|g:netrw_liststyle| 參照。
:Lexplore と似てゐますが、縱一杯のエクスプローラーウィンドウを左側に開きます。その際、未定義の |g:netrw_chgwin| は 1 にセットされます (例へば、編輯は優先的に一番左のウィンドウで生じます)。
以下も參照: |netrw-C| |g:netrw_browse_split| |g:netrw_wiw| |netrw-p| |netrw-P| |g:netrw_chgwin| |netrw-c-tab| |g:netrw_winsize|
常に新しいウィンドウを作成してローカルディレクトリブラウザーを開始します。Explore と同樣、通常はウィンドウは水平分割されます。
:Sexplore と同じですが、ウィンドウを垂直分割します。
ブラウザーウィンドウを作成する前に |:tabnew| を實行します。
|:leftabove| 垂直分割を使つて :Explore を實行します。
|:rightbelow| 垂直分割を使つて :Explore を實行します。
省略可能な引數:
[N]: | この引數は新しいエクスプローラーウィンドウの高さかつ/または幅の量を指定するために |g:netrw_winsize| を上書きします。
または |g:netrw_winsize| がユーザーにより指定されれば、新しいエクスプローラーウィンドウの高さかつ/または幅の量を制禦するのに使用されます。 |
[dir]: | デフォルトでは、これらのエクスプローラーコマンドは現在のファイルのディレクトリを使用します。しかし、一部のコマンドでは使用されるディレクトリ (パス) を指定できます。例:
:Explore /some/path |
このコマンドは他のコマンドとは少し違ひ、あらかじめエクスプローラーウィンドウを開いてからでないと使へません。
エクスプローラーに戾る
netrw を使用してファイルを編輯する時、例へばカーソル位置が netrw ブラウザーウィンドウ內のファイル名にある時に <CR>
を押すと、:Rexplore が實行されます。これによりそのウィンドウでの最後の netrw ブラウザーの表示に戾ることができます。
エクスプローラーから戾る
逆に、ディレクトリを開いてゐるとき、:Rexplore を使ふと、そのウィンドウで最後に開いてゐたファイルに戾ることができます。
<2-leftmouse> マップ (gvim や一部の端末でのみ利用可) でも :Rexplore と同じことができます。
參照: |g:netrw_alto| |g:netrw_altv| |g:netrw_winsize|
Explore, Sexplore, Hexplore, Vexplore それぞれのコマンドで、次のやうなパターンが使はれた場合、Explore はそれにマッチするやうなファイルのリストをローカルファイルシステムに對して生成します。これらの探索パターンはリモートファイルのブラウジングに對しては機能しません。
*/filepat | カレントディレクトリの、filepat にマッチするファイル |
**/filepat | カレントディレクトリとそれ以下のディレクトリの、filepat にマッチするファイル |
*//pattern | カレントディレクトリの、pattern を含んでゐるファイル (vimgrep が使用されます) |
**//pattern | カレントディレクトリとそれ以下のディレクトリの、pattern を含んでゐるファイル (vimgrep が使用されます) |
カーソルはリストの最初のファイルの上に置かれます。|:Nexplore| でファイルリストの次のファイルへ、|:Pexplore| で前のファイルへ移動できます。netrw はディレクトリやカーソル位置を適切に更新します。
引數を付けずに
:Explore
と實行すると、ファイルリストがクリアされます。
あなたのコンソールまたは gui が shift-up と shift-down を解釋できるなら、shift-downarrow と shift-uparrow を使ふと便利でせう。次のマップが netrw によつて定義されます:
<s-down> == Nexplore, and <s-up> == Pexplore.
例
:Explore */*.c :Nexplore :Nexplore :Pexplore
ステータスラインの右の方に "Match 3 of 20" のやうなメッセージが表示されます。
關聯設定: |g:netrw_keepdir| |g:netrw_browse_split| |g:netrw_fastbrowse| |g:netrw_ftp_browse_reject| |g:netrw_ftp_list_cmd| |g:netrw_ftp_sizelist_cmd| |g:netrw_ftp_timelist_cmd| |g:netrw_list_cmd| |g:netrw_liststyle|
ファイル名の上にカーソルを移動して "qf" を押すと、ファイルのサイズと最終更新日時が表示されます。現在、この機能はローカルファイルのみ對應してゐます。
"<ctrl-h>" マップを使ふと、|g:netrw_list_hide| に設定されたファイル/ディレクトリの隱しリストを變更できます。隱しリストはパターンをコンマで區切つたものです。パターンにマッチしたファイル/ディレクトリは表示されなくなります。あるいはマッチしたファイルのみを表示することができます (|netrw-a| 參照)。
"gh" マップ (|netrw-gh| 參照) を使ふと、通常の隱しリストの使用と "." で始まるファイル/ディレクトリを非表示にするのを切り替へることができます。
例:
let g:netrw_list_hide= '\(^\|\s\s\)\zs\.\S\+'
これは |netrw-gh| コマンドの初期設定での動作と實質的に同じになります。
解說:
\(^\|\s\s\) | 行頭または連續した 2 つの空白文字が見つかつたら |
\zs | その場所からマッチを開始して |
\. | ドットで始まり |
\S\+ | 1 つ以上の非空白文字が續く名前にマッチする |
關聯設定: |g:netrw_hide| |g:netrw_list_hide|
關聯項目: |netrw-a| |netrw-gh| |netrw-mh|
"Sorted by" が name (名前順ソート) のとき、g:netrw_sort_sequence を設定することで優先順位を指定できます。ソートシーケンスは典型的には順位の高い順に擴張子を竝べたもので、パターンを使ふこともできます。パターンはコンマで區切ります。ソートシーケンスの初期設定は次のとほり (實際にはすべて 1 行):
Unix では:
'[\/]$,\<core\%(\.\d\+\)\=,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$, \.info$,\.swp$,\.bak$,\~$'
< その他:
'[\/]$,\.[a-np-z]$,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$, \.swp$,\.bak$,\~$'
單に * だけが指定されてゐる場合は他のパターンにマッチしなかつたすべてのファイルがマッチします。ソートシーケンスを變更するには、g:netrw_sort_sequence 變數を設定するか (手動または <.vimrc> で設定)、"S" マップを使ひます。
關聯設定: |g:netrw_sort_sequence| |g:netrw_sort_options|
實行ファイルの上で X を押すと引數を入力するためのプロンプトが表示されます。そこで [return] を押すと、netrw はそのコマンドと引數で |system()| を實行します。結果は |:echomsg| で表示されるので、|:messages| で再表示できます。Ansi エスケープシーケンスは除去されます。
より多くの引數の編輯方法の方針は |cmdline-window| を參照。
リモートのシンボリックリンク (ssh や ftp を使用時) はリンク先がファイルなのかディレクトリなのかを知るのが難しいといふ問題があります。
强制的にファイルとして扱ふには次のコマンドを使ひます:
gf
强制的にディレクトリとして扱ふには次のコマンドを使ひます:
gd
親ディレクトリに移動するには "-" を押すか、ファイル一覽の ../ ディレクトリの上で <CR>
を押します。
netrw は |g:netrw_list_cmd| を使つてディレクトリ一覽を取得します。變數の HOSTNAME の部分は實際の url に置き換へられます。初期設定は次のとほり:
ssh HOSTNAME ls -FLa
HOSTNAME の部分は實際のリクエストの [user@]hostname に置換されます。設定は必要に應じて變更してください。リモートブラウズを實行する NetList 函數は、ディレクトリ名の末尾にはスラッシュが付くことを想定してゐます。
Netrw のブラウジングでは隱しリストを使ふ方法が 3 つあります: 使用しない、マッチしたファイルを隱す、マッチしたファイルのみを表示する。
ファイルが |netrw-mf| によつてマークされてゐない場合:
"a" マップを使ふと 3 つの表示モードが順番に切り替はります。
|g:netrw_list_hide| 變數にはコンマで區切られた正規表現に基づくパターンのリスト (例 ‘^.*\.obj$,^\.’) が設定されます。隱しリストを設定するには <c-h> マップを使ひます (|netrw-ctrl-h| 參照)。
例へば、"." で始まるファイルを非表示にしたい場合、<c-h> を押して隱しリストに ’‘^\..*’’ を設定します (あるいは <.vimrc> で let g:netrw_list_hide= '^\..*'
を設定する)。そして、"a
" キーを押して表示を切り替へます (すべてのファイルを表示、マッチしたファイルを隱す、マッチしたファイルのみ表示。
すべての *.c *.h ファイルを表示/非表示する。
同上。すべての *.c *.h ファイルを表示/非表示する。
表示モード (normal/hiding/show) の切り替へは "a" マップです。忘れないで!
ファイルが |netrw-mf| によつてマークされてゐる場合、次のやうに動作します:
マークされたファイルを g:netrw_list_hide に追加し、隱しファイル非表示モードにする
マークされたファイルを g:netrw_list_hide から削除し、隱しファイル非表示モードにする
次のコマンドを使ふと
gh
ドットで始まるファイルを非表示にするかどうかを簡單に切り替へることができます。
關聯設定: |g:netrw_list_hide| |g:netrw_hide|
關聯項目: |netrw-a| |netrw-ctrl-h| |netrw-mh|
netrw にはヘルパ函數の ’netrw_gitignore#Hide()’ が用意されてゐます。|g:netrw_list_hide| と一緖に使ふことで git の隱しファイルを自動的に隱すことができます。
’netrw_gitignore#Hide’ はこれらのファイルにあるパターンを檢索します:
'./.gitignore' './.git/info/exclude' global gitignore file: `git config --global core.excludesfile` system gitignore file: `git config --system core.excludesfile`
存在しないファイルは無視されます。
git の隱しファイルのパターンは存在するファイルから取られ、隱しファイル設定のパターンに變換されます。例へば、’.gitignore’ に ’*.log’ があつたとすると、それは ’.*\.log’ に變換されます。
この函數を使ふには、單にその戾り値を |g:netrw_list_hide| オプションに代入します。
netrw で git の隱しファイルをすべて隱す。
函數には git の隱しファイルのパターンを讀み込む追加のファイルを指定できます。
’netrw_gitignore#Hide’ と獨自のパターンを組み合はせる。
リモートディレクトリをブラウジングするときなどに、操作の度にパスワードを入力するのは面倒です。
Linux/Unix システム向けには
「Linux Server Hacks - 100 industrial strength tips & tools"」 Rob Flickenger 著 O'Reilly, ISBN 0-596-00461-3
日本語版は
「LinuxサーバHacks—プロが使ふテクニック&ツール100選」 飜譯: 山口晴廣、イメージズアンドワーズ ISBN-10: 487311151X ISBN-13: 978-4873111513
に、ssh と scp のパスワードを省略するための設定と、セキュリティ關係の議論があります。以前は http://hacks.oreilly.com/pub/h/66 で參照できましたが、現在このアドレスは "hackzine" へのリダイレクトになつてゐます。
記事の內容と Ben Schmidt とのやりとりを要約します:
ssh-keygen -t rsa
(プロンプトに從つてファイルが ~/.ssh/id_rsa に保存されます)
<CR>
を押してパスフレーズを空にする。もしパスフレーズを設定するなら、ssh-agent を使ふことでパスフレーズの入力をセッションごとに 1 度だけで濟ますことができます。パスフレーズを設定しなかつた場合、あなたのローカルコンピュータにログインするか、あるいはキーファイルにアクセスできれば、そのキーファイルが登錄された ssh サーバーにアクセスできます。
~/.ssh/id_rsa ~/.ssh/id_rsa.pub
cd mkdir .ssh chmod 0700 .ssh
ssh {serverhostname} cat '>>' '~/.ssh/authorized_keys2' < ~/.ssh/id_rsa.pub
もしくは OpenSSH で: (1 行で入力)
ssh {serverhostname} cat '>>' '~/.ssh/authorized_keys' < ~/.ssh/id_rsa.pub
次のコマンドで接續テストします:
ssh {serverhostname}
他に何も入力しないでサーバーマシンにログインできるはずです。
パスフレーズを設定してゐる場合は次のやうにします:
ssh-agent $SHELL ssh-add ssh {serverhostname}
ssh-add を實行するとパスフレーズを入力するプロンプトが表示されます。そして、ssh を使ふときはそれは表示されません。vim で使ふときは、次のやうにもできます
ssh-agent vim
そして、vim の中で次のコマンドを實行します
:!ssh-add
あるいは、vim を實行する豫定の端末に ssh-agent を適用する方法もあります:
ssh-agent xterm &
そして、必要になつたところで ssh-add を實行してください。
Windows 向けには、vim メーリングリストにおいてパスワードの省略には Pagent を使ふのがいいといふ話がありました。
Kingston Fung 氏がパスワードを省略する別の方法について書いてゐます:
scp を使ふたびにパスワードを入力しなくてもよくするには、ドキュメントにあるハックで空パスワードの ssh アカウントを作成する方法もあるが、もつといい方法がある。この方法では通常のパスワード付き ssh アカウントを使ひ、パスワードなしで操作を行へる。これはセキュアかつ便利だ。方法としては、ssh パブリックキー認證と ssh-agent を使ふ。詳しくはリンク先を見て欲しい。
http://www.ibm.com/developerworks/library/l-keyc2/
http://sial.org/howto/openssh/publickey-auth/Ssh ヒント:
Thomer Gil は netrw+ssh の速度を改善するヒントを提供してゐます:
http://thomer.com/howtos/netrw_ssh.htmlAlex Young は ssh の速度を改善するいくつかのヒントを提供してゐます:
http://usevim.com/2012/03/16/editing-remote-files/
"qb" (query bookmarks) を押すと、ブックマークされたディレクトリと移動履歷の一覽が表示されます。
關聯項目:
|netrw-gb| | ブックマークに戾る (移動する) |
|netrw-mb| | ブックマークを設定する |
|netrw-mB| | ブックマークを削除する |
|netrw-u| | 表示履歷の前のディレクトリに移動する |
|netrw-U| | 表示履歷の次のディレクトリに移動する |
"d" マップを使ふと新しいディレクトリを作成できます (リモート操作は g:netrw_mkdir_cmd 變數に依存。ローカル操作は g:netrw_localmkdir に依存)。コマンドを實行すると新しいディレクトリの名前を入力するプロンプトが表示されます。何も入力せずに <CR>
を押すとディレクトリの作成をキャンセルできます。ローカルディレクトリを作成するときに既存のファイルまたはディレクトリと同じ名前を指定すると、エラーが表示され、操作は無視されます。
關聯項目: |netrw-D|
關聯設定變數: |g:netrw_localmkdir| |g:netrw_mkdir_cmd| |g:netrw_remote_mkdir| |netrw-%|
|g:netrw_keepdir| の初期設定は 1 です。この設定の場合、カレントディレクトリはブラウジングディレクトリに合はせて變更されません。(v6 のファイルエクスプローラーとの互換性のため)
g:netrw_keepdir を 0 に設定すると、ディレクトリを移動する度にカレントディレクトリが設定されます。
g:netrw_keepdir が 1 のときは netrw のブラウジングディレクトリとカレントディレクトリは別々です。2 つのディレクトリを同じにするには "cd" マップを使ひます (c を押す)。このマップは Vim のカレントディレクトリを netrw のブラウジングディレクトリに變更します。
netrw-c : このマップの名前は "c" から cd に變更されました (|netrw-cd| を參照)。この變更は |netrw-cb| と |netrw-cB| のマップも考慮されてゐます。
關聯設定: |g:netrw_keepdir|
(|netrw-mr| も參照)
netrw はファイルをマークする方法をいくつか提供してゐます:
:MF
コマンドを使ふ。これはファイルのリストを指定して使ふ (ローカルディレクトリでは、リストにワイルドカードを指定できる -- |glob()| 參照)
:MF *.c
Note:
:MF の引數は |<f-args>| として、空白區切りで解釋される
マークしたファイルは以下の netrw マップを使つて操作できます:
|netrw-a| | ファイル/ディレクトリを隱す |
|netrw-D| | ファイル/ディレクトリを削除する |
|netrw-ma| | マークしたファイルを |arglist| に移動する |
|netrw-mA| | |arglist| をマークしたファイルに移動する |
|netrw-mb| | マークしたファイルをブックマークに追加する |
|netrw-mB| | マークしたファイルをブックマークから削除する |
|netrw-mc| | ファイルをターゲットディレクトリにコピーする |
|netrw-md| | マークしたファイルに vimdiff を適用する |
|netrw-me| | マークしたファイルを開く |
|netrw-mF| | ファイルのマークを外す |
|netrw-mg| | マークしたファイルに vimgrep を適用する |
|netrw-mm| | マークしたファイルをターゲットに移動する |
|netrw-mp| | マークしたファイル印刷する |
|netrw-mt| | |netrw-mm| または |netrw-mc| 用のターゲットを設定する |
|netrw-mT| | マークしたファイルのタグを生成する |
|netrw-mv| | マークしたファイルに Vim コマンドを適用する |
|netrw-mx| | マークしたファイルにシェルコマンドを適用する |
|netrw-mX| | マークしたファイルに一括でシェルコマンドを適用する |
|netrw-mz| | マークしたファイルを壓縮/伸暢する |
|netrw-O| | マークしたファイルを取得する |
|netrw-R| | マークしたファイルの名前を變更する |
マークを解除したいときはマークを設定したときと同樣に、ファイル名の上で "mf" を押します。gvim では <s-leftmouse> も使へます。すべてのマークを解除するには "mu" を使ひます (|netrw-mu| 參照)。
マークされたファイルは "netrwMarkFile" 强調グループで强調表示されます。これは初期設定では "Identifier" へのリンクです (|group-name| の Identifier 參照)。次のやうなコマンドで强調グループを設定することができます
highlight clear netrwMarkFile hi link netrwMarkFile ..何か..
これを $HOME/.vim/after/syntax/netrw.vim に書きます。
もしマウスが利用可能なら、<s-leftmouse> を使つて複數のファイルをマークできます。Shift
を押したままマウスの左ボタンでドラッグすることで複數のファイルをマークすることもできます。(|netrw-mouse| 參照)
マークされたすべてのファイルはグローバルマークファイルリストに記錄されます。グローバルリストは 1 つだけ存在します。さらに、すべての netrw バッファはバッファローカルマークファイルリストを持つてゐます。
netrw バッファは特定のディレクトリと結びついてゐるので、ディレクトリごとにローカルマークファイルリストが存在することになります。マークされたファイルに對する操作はグローバル、またはローカルのマークファイルリストに作用します。
既知の問題: ツリー表示モード (|g:netrw_liststyle|) で表示してゐて、複數のディレクトリが同じ名前のファイルを持つてゐるとき、そのどれかのファイルをマークすると、すべてのファイルがマークされたかのやうに强調表示されます。しかしマークファイルリスト (|markfilelist|) は選擇されたファイルのみを含んでゐます。これはおそらく修正されないでせう。
"mF" コマンドを使ふとカレントバッファ內のすべてのファイルのマークを外すことができます。ファイルごとに個別にマークを外したい場合は mf (|netrw-mf|) を使ひます。
(|netrw-mf| も參照)
|location-list| のファイルをマークするには "qL" を使ひます。續けて me (|netrw-me|) などのコマンドを使ふとそれらのファイルを開くことができます。
(|netrw-mf| も參照)
|quickfix-error-lists| のファイルをマークするには "qF" を使ひます。續けて me (|netrw-me|) などのコマンドを使ふとそれらのファイルを開くことができます。Quickfix エラーリストは |:vimgrep| などのコマンドで生成されます。
(|netrw-mf| も參照)
正規表現を使つてファイルをマークするには "mr" を使ひます。"mr" を押すと "Enter regexp: " といふプロンプトが表示されるので、例へば *.c$ のやうなシェル形式の正規表現 (|glob()| 參照) を入力します。
リモートシステムに對しては glob() は使へないので、netrw は "*" を ".*" に變換し (|regexp| 參照)、それを使つてファイルをマークします。將來的には glob() スタイルではなく |regexp| スタイルの正規表現を使へるやうにする豫定です (また別のオプションで)。
より多くの正規表現の編輯方法の方針は |cmdline-window| を參照。
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
"mv" マップはローカルマークファイルリストのファイルに對して netrw にそれぞれ任意の vim コマンドを實行させます:
* 1split * sil! keepalt e file * run vim command * sil! keepalt wq!
あなたが實行したい vim コマンドを尋ねるため "Enter vim command: " といふプロンプトが出ます。より多くのコマンドの編輯方法の方針は |cmdline-window| を參照。
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
"mx" マップを實行すると(外部)コマンドを入力するためのプロンプトが表示され、マークしたファイルに對して入力したコマンドが實行されます。コマンド文字列內のすべての "%" は實行ごとにファイル名に置換されます。"%" が無い場合はコマンドの後ろにスペースとファイル名が付けられます。
例:
(ファイルをマークする) mx コマンドを入力する: cat これにより次のシェルコマンドが實行されます: cat 'file1' cat 'file2' ...
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
’mX’ マップの實行の際、netrw はユーザーにグローバルマークファイルリストに對して適用する外部コマンドを尋ねます。"一括" の意味するものは、1 つのコマンドがすべてのファイルに對して一度に實行されるためです:
command files
このアプローチは、例へば tarball を作るためのファイルを選擇するのに便利です:
(ファイルをマークする) mX コマンドを入力する: tar cf mynewtarball.tar
この例により實行されるコマンド:
tar cf mynewtarball.tar 'file1' 'file2' ...
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
ma を使ふと、マークファイルリストを引數リストに移動します。mA を使ふと、引數リストをマークファイルリストに移動します。
參照: |netrw-cb| |netrw-cB| |netrw-qF| |argument-list| |:args|
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
cb を使ふと、ファイル名をマークファイルリストからバッファリストに移動します。cB を使ふと、ファイル名をバッファリストからマークファイルリストへコピーします。
參照: |netrw-ma| |netrw-mA| |netrw-qF| |buffer-list| |:buffers|
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
マークされたファイルが壓縮されてゐる場合、"mz" はファイルを伸暢します。マークされたファイルが壓縮されてゐない場合、"mz" はファイルを壓縮します。壓縮コマンドは |g:netrw_compress| で設定できます。初期設定は "gzip" です。
伸暢には、擴張子と伸暢コマンドを關聯付けた |Dictionary| が使はれます。|g:netrw_decompress| 參照。
正規表現で複數ファイルをマークできることを思ひ出してください (|netrw-mr| 參照)。これはたくさんのファイルを壓縮・解凍するのに便利です。
關聯設定: |g:netrw_compress| |g:netrw_decompress|
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
mt (|netrw-mt|) でコピー先ディレクトリを選擇し、ファイルのあるディレクトリに移動し、mf (|netrw-mf|) でファイルを選擇し、"mc" を押します。カレントウィンドウ (mf を實行した場所) からターゲットディレクトリへ、ファイルがコピーされます。
もし |netrw-mt| でセットした移動先ディレクトリがない場合、netrw はコピーするディレクトリを尋ねます。
また、ディレクトリとその內容 (ローカルに限ります) を移動先ディレクトリにコピーすることもできます。
關聯設定: |g:netrw_localcopycmd| |g:netrw_localcopycmdopt| |g:netrw_localcopydircmd| |g:netrw_localcopydircmdopt| |g:netrw_ssh_cmd|
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
|vimdiff| を使つて選擇したファイルの違ひを表示します (選擇できるファイルは 2 つか 3 つです)。グローバルマークファイルリストが使はれます。
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
この "me" コマンドはマークされたファイルを |arglist| に設定し、編輯を開始します。|:Rexplore| でエクスプローラーウィンドウに戾ることができます。(引數リスト內の次のファイル、前のファイルを開くには |:n| と |:p| を使ふ)
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
"mg" コマンドはマークされたファイルに對して |:vimgrep| を適用します。檢索パターンを入力するためのプロンプトが表示されます。次の形式で入力してください:
/pattern/[g][j] ! /pattern/[g][j] pattern
/pattern/ で vimgrep によりセットされた |quickfix| リストの最初の項目が開かれます (|:copen|, |:cnext|, |:cprevious|, |:cclose| 參照)。’g’ なしの場合、マッチしたすべての行が一度だけ追加されます。’g’ ありの場合、すべてのマッチが追加されます。
/pattern/j により "mg" はマークされたファイルから指定されたパターンを持つもののみに選別します。
mr ...file-pattern... mg /pattern/j
上記のコマンドは file-pattern にマッチし、また pattern を持つものに限られます。
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
この "mh" コマンドは、マークされたファイルの擴張子を隱しリストに追加、または削除します。同じ擴張子のファイルが複數選擇されてゐた場合はファイルの數だけ追加と削除が繰り返されることに注意してくだだい (つまり、同じ擴張子のファイルが偶數個選擇されてゐる場合はそれを選擇しなかつたのと同じ)。
關聯項目: |netrw-a| |g:netrw_list_hide|
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(グローバルマークファイルリスト使用)
警告:
ファイルの移動はコピーと比べて危險です。ファイルの移動時は、まづコピーされ、それから削除されます。コピーが失敗して削除が成功するとファイルが失はれます。實際に操作する前に適當なファイルで試してみるか、あるいは、mc と D を使つて自分でコピーと削除を實行してください。自己責任で使つてください。
mt (|netrw-mt|) で移動先ディレクトリを選擇し、ファイルのあるディレクトリに移動し、mf (|netrw-mf|) でファイルを選擇し、"mm" を押します。カレントウィンドウ (mf を實行した場所) からターゲットディレクトリへ、ファイルが移動されます。
關聯設定: |g:netrw_localmovecmd| |g:netrw_ssh_cmd|
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
"mp" コマンドが使はれると netrw はマークされたファイルに對して |:hardcopy| コマンドを實行します。具體的には、それぞれのファイルを一行のウィンドウで開いて、hardcopy を實行し、一行ウィンドウを閉ぢます。
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
"ms" を使ふと netrw はマークされたファイルをスクリプト實行します (Vim の |:source| コマンド使用)
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
ファイルコピー/移動のターゲットを設定する (|netrw-mc| と |netrw-mm| 參照):
ターゲットがカレントディレクトリではない場合、"mf" と入力するとターゲットを解除します。
:MT [directory]
コマンドでターゲットを設定できます。このコマンドは |<q-args>| を使ふので、ディレクトリ名のスペースはエスケープしなくても構ひません。
ターゲットは Vim セッションで 1 つしか設定できません。ターゲットはスクリプト變數 (|s:var| 參照) で管理されてをり、(Vim のインスタンスごとの) すべての netrw ウィンドウで共有されます。
gvim でメニューを使つてゐるなら、"Targets" エントリにブックマークと履歷が一覽されるので、そこからターゲットを選擇できます。
關聯項目:
ファイルをマークする | |netrw-mf| |
正規表現を使つてファイルをマークする | |netrw-mr| |
マークファイル: ブックマークを使つたターゲットディレクトリ | |netrw-Tb| |
マークファイル: 履歷を使つたターゲットディレクトリ | |netrw-Th| |
(マークの設定方法は |netrw-mf| と |netrw-mr| を參照)
(ローカルマークファイルリスト使用)
"mT" マップはマークされたファイルに對して |g:netrw_ctags| で指定されたコマンドを實行します (初期設定は "ctags")。リモートブラウジングでは、タグファイルを生成するために ssh が使はれます (|g:netrw_ssh_cmd| 參照)。
したがつて、リモートシステムの ssh でコマンドが使へなければなりません。ローカルで使ふ場合は、|ctags| を參照して ctags を準備してください。私は個人的に hdrtags を使つてゐます。
hdrtags は http://www.drchip.org/astronaut/src/index.html から入手できます。これを使ふ場合は <.vimrc> で次のやうに設定してください:
let g:netrw_ctags= "hdrtag"
リモートでタグファイルを生成した場合、タグファイルが "取得" されます。つまり、ローカルシステムにファイルがコピーされます。そして、ネットワーク越しのファイルにアクセスできるやうに、タグファイルが變更されます。
變更されるのはタグファイル內のファイル名で、それぞれのファイル名の前に netrw で扱へる形の url が插入されます (url は元のタグファイルの場所に基づく)。タグ操作 (|tags|) を實行すると、netrw によつて url が開かれ、タグに移動できます。
關聯設定: |g:netrw_ctags| |g:netrw_ssh_cmd|
ファイルコピー/移動のターゲットを設定する。
|netrw-qb| マップはブックマーク (と履歷) の一覽を表示します。[count]Tb (count のデフォルトは 1) を使つて、ブックマークからマークファイルターゲットを選擇できます。
關聯項目:
ファイルをターゲットにコピーする | |netrw-mc| |
ブックマークと履歷を一覽表示する | |netrw-qb| |
マークファイル: ターゲットディレクトリを設定する | |netrw-mt| |
マークファイル: 履歷を使つたターゲットディレクトリ | |netrw-Th| |
ファイルをマークする | |netrw-mf| |
ファイルのマークを外す | |netrw-mr| |
ファイルをターゲットに移動する | |netrw-mm| |
ファイルコピー/移動のターゲットを設定する。
|netrw-qb| マップは履歷 (とブックマーク) の一覽を表示します。[count]Th (count のデフォルトは 0。つまりカレントディレクトリ) を使つて、履歷からマークファイルターゲットを選擇できます。
關聯項目:
ファイルをターゲットにコピーする | |netrw-mc| |
ブックマークと履歷を一覽表示する | |netrw-qb| |
マークファイル: ターゲットディレクトリを設定する | |netrw-mt| |
マークファイル: ブックマークを使つたターゲットディレクトリ | |netrw-Tb| |
ファイルをマークする | |netrw-mf| |
ファイルのマークを外す | |netrw-mr| |
ファイルをターゲットに移動する | |netrw-mm| |
"mu" マップを使ふと現在設定されてゐるすべてのマークが解除されます。このコマンドは "mF" とは異なります。"mu" はすべてのグローバルマークファイルリストとバッファローカルマークファイルリストを解除するのに對し、"mF" はカレントディレクトリのファイルの選擇のみを解除します (|netrw-mF| 參照)。
(ファイル轉送の設定については |netrw-options| と |netrw-protocol| を參照)
netrw ブラウザーの各種設定は變數で管理されてゐて、それを變更することができます。<.vimrc> などで變數を設定することでブラウザーの動作をカスタマイズできます。(|netrw-settings| も參照)
說明
|CTRL-^| で最後に編輯したファイルに戾りたいときは 1 を設定する。
|CTRL-^| で netrw ブラウザーに戾りたいときは 0 を設定する。
初期設定: =0
分割ウィンドウを (上ではなく) 下に開くやうにする (|netrw-o| 參照)
初期設定: =&sb (|'sb'| 參照)
分割ウィンドウを (左ではなく) 右に開くやうにする (|netrw-v| 參照)
初期設定: =&spr (|'spr'| 參照)
バナーの表示を切り替へる
=0: バナーを表示しない
=1: バナーを表示する (初期設定)
この變數が存在し、ゼロ以外なら、バナーの表示に (スラッシュではなく) バックスラッシュが使はれる。
ブラウザーで <CR>
を押してファイルを開くとき:
=0: 同じウィンドウを使ふ (デフォルト)
=1: ウィンドウを水平分割する
=2: ウィンドウを垂直分割する
=3: 新しいタブで開く
=4: "P" で開く (以前のウィンドウで開く)
Note:
|g:netrw_preview| を使ふと (水平分割から變更して) 垂直分割にできます。
=[サーバー名,タブ番號,ウィンドウ番號]
このやうな |List| を指定すると、"サーバー名" で指定したリモートサーバーは編輯に使はれます。また、指定されたタブとウィンドウも使はれます (|clientserver|, |netrw-ctrl-r| 參照)。
このオプションは |:Lexplore| のウィンドウには影響を與へません。
關聯項目: |g:netrw_alto| |g:netrw_altv| |netrw-C| |netrw-cr| |netrw-ctrl-r|
ユーザー指定のビューア:
"kfmclient exec" "gnome-open"
値が "-" なら、netrwFileHandler() によつてファイルを處理するスクリプト/函數が呼ばれます。(|netrw_filehandler| 參照)
Unix/Linux: "chmod PERM FILENAME"
Windows: "cacls FILENAME /e /p PERM"
ファイルのアクセス權限を變更するのに使はれます。
="gzip"
ファイル壓縮コマンド
netrw ブラウザーの "x" コマンド (|netrw-x| 參照) で <core> ファイルを處理するときの追加處理を設定できます。g:Netrw_corehandler には 1 つ、または複數の函數參照 (|Funcref|) を指定できます。(g:Netrw... で大文字が使はれてゐますが、これは函數參照を保存するために必要です)
="ctags"
タグを作成するための外部コマンド
= 2 (初期設定)
|'cursorline'| (cul) と |'cursorcolumn'| (cuc) を使用するかどうかをコントロールする:
Value | Thin-Long-Tree | Wide |
---|---|---|
=0 | u-cul u-cuc | u-cul u-cuc |
=1 | u-cul u-cuc | cul u-cuc |
=2 | cul u-cuc | cul u-cuc |
=3 | cul u-cuc | cul cuc |
=4 | cul cuc | cul cuc |
記號の意味
u-cul | |'cursorline'| のユーザー設定使用 |
u-cuc | |'cursorcolumn'| のユーザー設定使用 |
cul | |'cursorline'| をローカル設定する |
cuc | |'cursorcolumn'| をローカル設定する |
= {".gz": "gunzip", ".bz2": "bunzip2", ".zip": "unzip", ".tar": "tar -xf"}
擴張子と伸暢プログラムを關聯付ける辭書
=10: 履歷の最大數を設定する。履歷を使用しない場合はゼロを設定する。
=32: |g:netrw_maxfilenamelen| (ローカルファイルの long 一覽表示で使用される) の動的判定を有效にする。
=0: この値以上のエラーレベルであれば表示が許可される。
0: 注意
1: 警告
2: エラー
=0: 低速ディレクトリブラウジング、ファイル一覽を再利用しない、常にファイル一覽取得を行ふ
=1: 中速ディレクトリブラウジング、リモートディレクトリのみファイル一覽を再利用する。(初期設定)
=2: 高速ディレクトリブラウジング、未取得のディレクトリ (または |netrw-ctrl-l| が使はれたとき) のみファイル一覽を取得する。
高速ブラウジングは古いファイル一覽バッファを保持し、再取得處理を實行しません。これは特にリモートブラウジングで重要になります。ファイルが作成/削除されるとファイル一覽バッファは不正確な情報になります。
|netrw-ctrl-l| を使ふことでファイル一覽を更新できます。この設定によつて正確さ (常に最新) とスピードのトレードオフを選擇できます。
(初期設定: 變數なし)
この變數が存在して値がゼロなら、netrw は |'fileformat'| を保存、復元しない。
=’ ?&;%’
リモートで讀み/書きするときにファイル名をエスケープするのに使はれる。
ftp がエラーや警告を出力すると、それがファイルやディレクトリとして一覽に表示されてしまひます。この變數に設定したパターンを使つてそれらのメッセージが取り除かれます。初期設定は以下のとほり:
'^total\s\+\d\+$\| ^Trying\s\+\d\+.*$\| ^KERBEROS_V\d rejected\| ^Security extensions not\| No such file\| : connect to address [0-9a-fA-F:]* : No route to host$'
ftp に渡されるファイル一覽取得コマンド。
初期設定:
unix または g:netrw_cygwin の場合: "ls -lF"
さうでない場合: "dir"
ftp に渡されるファイル一覽取得コマンド。ファイルサイズでソートする。
初期設定:
unix または g:netrw_cygwin の場合: "ls -slF"
さうでない場合: "dir"
ftp に渡されるファイル一覽取得コマンド。最終更新日時でソートする。
初期設定:
unix または g:netrw_cygwin の場合: "ls -tlF"
さうでない場合: "dir"
=’[]*?‘{~$’ (unix)
=’[]*?‘{$’ (windows
設定された文字がディレクトリ名に使はれてゐたら glob() を適用する前にエスケープされる。
="<cfile>"
このオプションは gx (|netrw-gx|) がどのやうにカーソル位置のテキストを取得するかを制禦します。可能な引數については |expand()| を參照してください。
"a" マップを制禦する (|netrw-a| 參照)
=0 : すべて表示
=1 : 非隱しファイルを表示
=2 : 隱しファイルのみ表示
初期設定: =1
ブックマークと履歷 (.netrwbook と .netrwhist) を保存するホームディレクトリ。
Netrw は文字列上の |expand()| を使ふ。
初期設定: |'runtimepath'| の最初のディレクトリ
=1 (初期設定) カレントディレクトリとブラウジングディレクトリを別にする
=0 カレントディレクトリとブラウジングディレクトリを同じにする。
現在のブラウジングディレクトリは b:netrw_curdir に保存されます。 (|netrw-c| 參照)
="keepj" (デフォルト) netrw は |:jumps| のエントリを保つよう試みます。
="" netrw は保存/位置の復元以外に |:keepjumps| を使はなくなります。
リモートディレクトリのファイル一覽取得コマンド
初期設定: (sshがあるなら) "ssh HOSTNAME ls -FLa"
もしこの變數が存在するなら、値は g:netrw_list_cmd に追加されます。例へば、"2>/dev/null" はバナー用のメッセージを除去します。
デフォルトのファイル一覽表示スタイル:
= 0: thin listing (一行に 1 つのファイル)
= 1: long listing (一行に 1 つのファイル、タイムスタンプ、ファイルサイズ)
= 2: wide listing (一行に複數のファイル)
= 3: tree style listing (ツリー表示)
隱しファイル用のパターンのリスト (コンマ區切り) パターンは正規表現です (|regexp| 參照)
git の隱しファイル用に特別な函數が用意されてゐます。この變數に ’netrw_gitignore#Hide()’ ヘルパ函數の戾り値を追加することで、git の隱しファイルを自動的に隱すことができます。詳細は |netrw-gitignore| 參照。
例:
let g:netrw_list_hide= '.*\.swp$' let g:netrw_list_hide= netrw_gitignore#Hide().'.*\.swp$'
初期設定: ""
="cp" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
マークされたファイル (|netrw-mf|) をターゲットディレクトリにコピー (|netrw-mt|, |netrw-mc|)
=” Linux/Unix/MacOS/Cygwin
=’ \c copy’ Windows
|g:netrw_localcopycmd| 用のオプション
="cp" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
=" -R" Linux/Unix/MacOS/Cygwin
=" /c xcopy /e /c /h/ /i /k" Windows
|g:netrw_localcopydircmd| 用のオプション
="mkdir" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
ローカルディレクトリ作成コマンド
="" Linux/Unix/MacOS/Cygwin
=" /c mkdir" Windows
|g:netrw_localmkdir| 用のオプション
="mv" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
マークされたファイル (|netrw-mf|) をターゲットディレクトリに移動 (|netrw-mt|, |netrw-mm|)
="" Linux/Unix/MacOS/Cygwin
=" /c move" Windows
|g:netrw_localmovecmd| 用のオプション
="rmdir" Linux/Unix/MacOS/Cygwin
=expand("$COMSPEC") Windows
ディレクトリ削除コマンド (rmdir)
この變數は Vim 7.4 以前もしくは Patch#1107 を適用してゐない Vim でのみ使へます。さうでなければ、|delete()| が "d" オプションで使はれます。
="" Linux/Unix/MacOS/Cygwin
=" /c rmdir" Windows
|g:netrw_localrmdir| 用のオプション
=32 (初期設定) long スタイルでの表示を 80 カラムのディスプレイに收められるやうな値。
大きい畫面を使つてゐるか、32 バイトより長い名前のファイル/ディレクトリがあるなら、このオプションを設定して表示を調整するといいでせう。
ssh 經由でのリモートディレクトリ作成コマンド (|g:netrw_remote_mkdir| も參照)
初期設定: "ssh USEPORT HOSTNAME mkdir"
=1 (初期設定) ブラウジングでマウスボタンを有效にする:
左クリック | ファイル/ディレクトリを開く |
Shift-左クリック | ファイルをマークする |
中クリック | P と同じ |
右クリック | ファイル/ディレクトリを削除 |
=0: マウスのマップを無效にする
未設定 (初期設定)
この變數を定義するとバルーン評價は抑制される。(參照 |'ballooneval'|)
未定義: 實際のバイト數 (デフォルト)
="b" : 實際のバイト數 (デフォルト)
="h" : 人閒が讀める形式 (例: 5k, 4m, 3g) 1000 ベース
="H" : 人閒が讀める形式 (例: 5K, 4M, 3G) 1024 ベース
long 形式の一覽表示スタイル (|netrw-i|) と query-file maps (|netrw-qf|) はファイルサイズを指定されたスタイルで表示します。
もしこの變數が存在し、その値が 非0 なら、<tab> マップは Lexplore または netrw ウィンドウの縮小・擴張をサポートするやうになります。(|netrw-c-tab| 參照)
ftp 經由でのリモートディレクトリ作成コマンド (|g:netrw_mkdir_cmd| も參照)
初期設定: "mkdir"
この變數が存在し、その値が 1 なら:
といふ場合、netrw ブラウザーウィンドウに戾るための機能として <2-leftmouse> マップが設定されます。
例: クリックしてファイルを開き、ダブルクリックで戾る。
Note:
<2-leftmouse> 以外のキーを割り當てたい場合は:
- let g:netrw_retmap= 1
- nmap <silent> 好きなキー <Plug>NetrwReturn
を設定してください。
|:Rexplore| コマンドを使つても同じことができます。
初期設定: =0
リモートのファイル削除コマンド
初期設定: "ssh USEPORT HOSTNAME rm"
リモートのディレクトリ削除コマンド
初期設定: "ssh USEPORT HOSTNAME rmdir"
リモートのソフトリンク削除コマンド
初期設定: "ssh USEPORT HOSTNAME rm -f"
使用するサーバーに |netrw-ctrl-r| の名前を渡すための變數。
初期設定: "NETRWSERVER"
ソートの種類: "name", "time", "size", "exten"
初期設定: "name"
ソートの順序: "normal" または "reverse"
初期設定: "normal"
ソートには |:sort| が使はれます。この變數に設定された値はソートコマンドに追加されます。例へば .vimrc で次のやうに設定すると、大文字小文字を無視できます:
let g:netrw_sort_options="i"
初期設定: ""
名前でソートするとき、まづこの變數で指定されたパターンを使つてソートする。コンマで區切られたパターンのリスト。
Note:
ソート時のファイル名にはファイルタイプを示す裝飾文字 (|netrw-filigree|) が含まれます。
初期設定: ’‘[\/]$,*,\.bak$,\.o$,\.h$, \.info$,\.swp$,\.obj$’’
true なら、特定の種類のファイルが特別な色 (シンタックス) で表示されます:
netrwBak : *.bak netrwCompress: *.gz *.bz2 *.Z *.zip netrwCoreDump: core.\d\+ netrwData : *.dat netrwDoc : *.doc,*.txt,*.pdf, *.pdf,*.docx netrwHdr : *.h netrwLex : *.l *.lex netrwLib : *.a *.so *.lib *.dll netrwMakefile: [mM]akefile *.mak netrwObj : *.o *.obj netrwPix : *.bmp,*.fit,*.fits,*.gif, *.jpg,*.jpeg,*.pcx,*.ppc *.pgm,*.png,*.psd,*.rgb *.tif,*.xbm,*.xcf netrwTags : tags ANmenu ANtags netrwTilde : * netrwTmp : tmp* *tmp netrwYacc : *.y
加へて、|'suffixes'| で觸れられてゐるこれらのグループは、ハイライトグループの特別なファイルに追加されます。 これらの構文ハイライトグループは、初期設定では netrwGray か Folded へのリンクですが (|hl-Folded| 參照)、例へば <.vimrc> で次のやうに設定することで
hi link netrwCompress Visual
好みの配色を設定できます。あるいは、このやうな設定を .vim/after/syntax/netrw.vim に書く方法もあります。 netrwGray ハイライトは次の場合に netrw によつて設定されます。
例として、私自身は暗背景カラースキームを使つてゐて .vim/after/syntax/netrw.vim で以下のよう設定してゐます:
hi netrwCompress term=NONE cterm=NONE gui=NONE ctermfg=10 guifg=green ctermbg=0 guibg=black hi netrwData term=NONE cterm=NONE gui=NONE ctermfg=9 guifg=blue ctermbg=0 guibg=black hi netrwHdr term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1 hi netrwLex term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1 hi netrwYacc term=NONE cterm=NONE,italic gui=NONE guifg=SeaGreen1 hi netrwLib term=NONE cterm=NONE gui=NONE ctermfg=14 guifg=yellow hi netrwObj term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red hi netrwTilde term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red hi netrwTmp term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red hi netrwTags term=NONE cterm=NONE gui=NONE ctermfg=12 guifg=red hi netrwDoc term=NONE cterm=NONE gui=NONE ctermfg=220 ctermbg=27 guifg=yellow2 guibg=Blue3 hi netrwSymLink term=NONE cterm=NONE gui=NONE ctermfg=220 ctermbg=27 guifg=grey60
ssh の出力に不要なテキスト (メッセージ、バナー等) が混ざつてゐて、それらがディレクトリやファイルとして認識されると困ります。この變數に設定されたパターンを使つて餘計なメッセージを取り除きます。
初期設定: ’‘^total\s\+\d\+$’’
リモートアクセス時に ssh として使はれる實行可能ファイル。ファイル一覽取得やファイル削除などに使はれます。
初期設定: ssh
=1 : ブラウザーは時々、ページと入り混じつた不必要と思はれるメッセージを出力することがあります。しかし、例へば links を使用してゐる時、それらの出力はブラウザーが出力したものです。このオプションを 0 にセットすることで、netrw はブラウザーのメッセージを抑制しなくなります。
=’ &;’
一時ファイルを escape() で處理するときに使はれるエスケープ文字列。
Vim の strftime() で使用するフォーマット文字列を指定します。初期設定は "%c" で、これは手元の strftime() のマニュアルページによれば "現在のロケールにおいて一般的な日附・時刻の表記" です。"%c" の結果に不滿な場合は例へば次のやうな設定が便利でせう:
"%a %d %b %Y %T", " %a %Y-%m-%d %I-%M-%S %p"
初期設定: "%c"
netrw のブラウザーバッファではスワップファイルを使はないやうにしてゐます。しかし、あるシステムではそれによつて ml_get エラーが發生することがあります。そのやうなエラーが出た場合は .vimrc で次のやうに設定してみてください
let g:netrw_use_noswf= 0
初期設定: 1
ウィンドウを作成したときの初期サイズ。"o" (|netrw-o|), "v" (|netrw-v|), |:Hexplore|, |:Vexplore| で使用。g:netrw_winsize の値は整數です。新しいウィンドウのサイズを netrw のカレントバッファウィンドウに對する比率で指定します。 g:netrw_winsize が 0 より小さい場合、g:netrw_winsize の絕對値は新しいウィンドウの行または列の大きさを指定するために使はれます。 g:netrw_winsize がゼロなら、通常どほりウィンドウが分割される (つまり、例へば |'equalalways'| が機能するなど)。
初期設定: 50 (50%)
=1 netrw ウィンドウ/Lexplore ウィンドウを縮小する時に使はれる最小のウィンドウ幅を指定します (|netrw-c-tab| 參照)。
マルチバイト文字列の長さを計算する方法を指定する。(N Weibull, T Mechelynck ありがたう)
=0: Vim の組み込み函數 strlen() を使ふ
=1: 文字數。(Latin a + combining circumflex は 2 文字) (初期設定)
=2: 文字數。(Latin a + combining circumflex は 1 文字。タブ文字は 1。CJK 文字は全角半角ともに 1。...)
=3: 表示幅 (タブ文字は 1 から |'tabstop'| までの可變幅。CJK 文字は全角は 2、その他は 1。アラビア文字の alif は、lam が前置されてゐる場合は 0、さうでなければ 1。...)
トップレベルメニューの名前を指定する。初期設定は "Netrw."。これを變更したい場合は .vimrc で設定してください。
Netrw 內部でオプションを變更するときは、ユーザー設定を保存してから netrw 用の値を設定し、後で元に戾すといふ方法が使はれます。しかし、autochdir オプション:
:set acd
の扱ひには問題があります。autochdir は開いてゐるファイルが置かれてゐるディレクトリをカレントディレクトリとして設定しますが、これはディレクトリを開いたときも適用されます。つまり、autochdir によつてファイル (それがディレクトリであつても) が置かれてゐるディレクトリがカレントディレクトリとして設定されてしまひます。
NetrwSettings.vim プラグインのコマンド
:NetrwSettings
を實行すると、netrw の設定變數が表示されたウィンドウが表示されます。値を編輯してファイルを保存すると設定が反映されます。それぞれの變數の上で "?" を押すとその變數のヘルプが表示されます。
(參照: |netrw-browser-var| |netrw-protocol| |netrw-variables|)
マークされたファイルがない場合:
リモートディレクトリを表示してゐるとき、ファイル名の上で O を押すことでファイルを取得できます (ローカルマシンにファイルがコピーされる。編輯は開始されない)。
マークされたファイルがある場合:
マークされたファイルが取得されます (ローカルマシンにファイルがコピーされる。編輯は開始されない)。
この操作は ftp と scp でサポートされてゐます (ブラウジングが動作してゐるなら問題なく使へるはずです)。ステータスラインの右側に "Obtaining filename" のやうなメッセージが表示されます。ファイル轉送が完了するとステータスラインは元に戾ります。
Netrw はローカルマシンのファイルを "取得" することもできます。<.vimrc> で |g:netrw_keepdir| が 0 に設定されてゐなければ、Netrw では Vim のカレントディレクトリとは別のディレクトリを表示できます。ローカルブラウザーでファイルを選擇 (ファイル名の上にカーソルを移動) し、"O" を押すことで、ファイルを "取得" (Vim のカレントディレクトリにコピー) できます。
關聯項目:
netrw のカレントディレクトリで新しいファイルを作成するには "%
" を押します。ファイル名を入力するためのプロンプトが表示されます。指定した名前の空のファイルが netrw のカレントディレクトリ (b:netrw_curdir) に作成されます。
關聯項目: |netrw-d|
ファイルの上で "p" キーを押すと、そのファイルをプレビューウィンドウで開くことができます。ブラウザーウィンドウとは別にファイルを表示するウィンドウが作成されます (|:pedit| 參照。カーソルは移動しません)。初期設定ではウィンドウは水平分割されます。|g:netrw_preview| を設定することで垂直分割に變更できます。
netrw を次のやうに設定すると便利かもしれません:
let g:netrw_preview = 1 let g:netrw_liststyle = 3 let g:netrw_winsize = 30
これは:
關聯: もしあなたがこのアイデアを氣に入るやうなら、:Lexplore (|netrw-:Lexplore|) や |g:netrw_chgwin| にも興味を持つでせう。
參照: |g:netrw_chgwin| |netrw-P| |'previewwindow'| |CTRL-W_z| |:pclose|
カーソル下のファイル/ディレクトリを以前の (最後にアクセスした) ウィンドウ (:he |CTRL-W_p|) で開くには、"P
" を押します。ウィンドウが 1 つしかない場合は、新しいウィンドウが水平分割 (初期設定) で作成されます。
ウィンドウが複數ある場合は、以前のウィンドウを使つてファイル/ディレクトリが開かれます。以前のウィンドウで表示されてゐるバッファに未保存の變更があり、そのバッファを表示してゐるウィンドウが 1 つだけの場合、バッファを保存するかどうかを尋ねるプロンプトが表示されます (yes, no, または cancel)。
關聯アクション |netrw-cr| |netrw-o| |netrw-t| |netrw-v|
關聯設定變數:
|g:netrw_alto| | 分割の方向 (上/下) を制禦 |
|g:netrw_altv| | 分割の方向 (右/左) を制禦 |
|g:netrw_preview| | 分割の方向 (水平/垂直) を制禦 |
|g:netrw_winsize| | 初期サイズを制禦 |
參照: |g:netrw_chgwin| |netrw-p|
ローカル/リモートのディレクトリのファイル一覽は、Ctrl-l (<c-l>) を押すか、一覽の ./ の上で <CR>
を押すことで更新できます。":e .
" でローカルディレクトリを更新することもできます。
"r
" キーを押すことでソートの順番を昇順/降順に切り替へることができます。
關聯項目: |netrw-s|
關聯設定: |g:netrw_sort_direction|
マークされたファイルがない場合: (|netrw-mf| 參照)
移動 (名前變更) したいファイル/ディレクトリにカーソルを移動して "R
" を押します。プロンプトが表示されるのでファイル/ディレクトリの移動先を入力してください。"V" コマンド (ビジュアル選擇) で複數の行を選擇して "R" を使ふこともできます。それぞれのファイルに對して、リネームしたいファイル名を尋ねられます。
マークされたファイルがある場合: (|netrw-mf| 參照)
マークされたファイルを移動 (名前變更) します。プロンプトが表示されるのでファイル/ディレクトリの移動先を入力してください。
もしあなたが "s/frompattern/topattern/" と入力したら、マークファイルリストのそれぞれのファイル名を取得し、置換を適用し、ファイル名を變更します。
例:
mr [質問: *.c と入力] R [質問: s/^\(.*\)\.c$/\1.cpp/ と入力]
この例ではすべての *.c ファイルを *.cpp に變更します。
ctrl-X はファイルをリネームするのに特別な意味を持ちます:
<c-x> | 單一の ctrl-x は netrw に最後の ’/’ と ctrl-x の閒の分割の位置を傳へます。 |
<c-x><c-x> | 連續した ctrl-x は 2 つの ctrl-x の前のすべての分割を無視します。 |
警告:
Note:
ファイルの移動はコピーと比べて危險です。なぜなら、リモートのファイルを "移動" するとき、實際には コピー + 削除 を實行してゐるからです。コピーが失敗して削除が成功するとファイルが失はれます。自己責任で使つてください。
g:netrw_rename_cmd 變數でリモートの名前變更のコマンドを指定できます。初期設定は次のとほり:
ssh HOSTNAME mv
V (|linewise-visual|) で選擇することで複數のファイル/ディレクトリを名前變更できます。
より多くのコマンドラインの編輯方法の方針は |cmdline-editing| を參照。特に、<ctrl-f> (コマンドラインウィンドウで編輯を開始) と <ctrl-c> (カーソル下のコマンド行を使用) は R コマンドと組み合せると便利であることがわかるでせう。
ファイル一覽は名前、時閒、ファイルサイズのいづれかでソートできます。"s" マップを使ふことでソートの種類を順番に切り替へることができます。ファイルの一覽は自動的に更新されます。
關聯設定: |g:netrw_sort_by| |g:netrw_sort_sequence|
ファイルを開くウィンドウを指定するには、netrw ウィンドウで "C" マップを押すか、|g:netrw_chgwin| にウィンドウ番號を設定します。ファイルを開く (|netrw-cr|) と、指定されたウィンドウが使はれます。
次のやうに設定すると
let g:netrw_chgwin= -1
デフォルトの動作に戾すことができます (つまり、カレントウィンドウを使ふ)。
關聯項目: |netrw-cr| |g:netrw_browse_split| 關聯設定: |g:netrw_chgwin|
<c-tab
> キーは netrw または |:Lexplore| ウィンドウの幅をトグルします。しかしこれは |g:netrw_usetab| が存在し 非 0 である場合のみ有效です (また、もちろんあなたの端末が <c-tab> と <tab> を區別できる場合のみ)。
もし |g:netrw_usetab| が存在し 非 0 の場合、もしくはすでに <c-tab> にマッピングが存在するなら、<c-tab> はマッピングされません。もし <c-tab> 以外にマップされてゐた場合も同樣です: (しかしその場合も |g:netrw_usetab| をセットしてゐる必要があります)
nmap <unique> (whatever) <Plug>NetrwShrink
關聯項目: |:Lexplore|
關聯設定: |g:netrw_usetab|
ユーザー定義のマップを作成することができます。キーマップの文字列と函數名の |List| を保持する |g:Netrw_UserMaps| を指定してください:
[["keymap-sequence","ExampleUserMapFunc"],...]
netrw が netrw バッファ用のマップを設定する時、もし |g:Netrw_UserMaps| が存在するなら、內部函數 netrw#UserMaps(islocal) が呼ばれます。この函數は |g:Netrw_UserMaps| のすべての要素を走査します:
nno <buffer> <silent> KEYMAP-SEQUENCE :call s:UserMaps(islocal,"ExampleUserMapFunc")
ユーザー函數には 1 つの引數が渡されます。以下のやうに
fun! ExampleUserMapFunc(islocal)
もしそれがローカルディレクトリの呼び出しなら a:islocal は 1、もしそれがリモートディレクトリの呼び出しなら a:islocal は 0 になります。
netrw#Expose("varname") | netrw の (スクリプトローカルな) 內部變數にアクセスできます。 |
netrw#Modify("varname",newvalue) | netrw の內部變數を變更できます。 |
netrw#Call("funcname"[,args]) | netrw の內部函數を指定の引數で呼び出すことができます。 |
例: netrw のマークファイルリストのコピーを取得します:
let netrwmarkfilelist= netrw#Expose("netrwmarkfilelist")
例: netrw のマークファイルリストの値を變更します:
call netrw#Modify("netrwmarkfilelist",[])
例: netrw のマークファイルリストを gu マッピング經由でクリアします:
" ExampleUserMap: fun! ExampleUserMap(islocal) call netrw#Modify("netrwmarkfilelist",[]) call netrw#Modify('netrwmarkfilemtch_{bufnr("%")}',"") let retval= ["refresh"] return retval endfun let g:Netrw_UserMaps= [["gu","ExampleUserMap"]]
(何かフィードバックがあればこの項に追加していきます)
(|netrw-debug| も參照)
|netrw-fixup| を見て、次の設定を <.vimrc> に加へてください:
let g:netrw_win95ftp= 1
Windows の ftp の ls には最低限の機能しかありません (ソートオプションが使へない等)。註釋文字を得るための -F もサポートされてゐません (例へば ABC がディレクトリなら ABC/ になる機能)。そのため、Netrw は "dir" を使つて thin と long スタイルの一覽を取得します。あなたの ftp がこれらの機能をサポートしてゐるなら、<.vimrc> に次の設定を書いてください:
let g:netrw_ftp_list_cmd = "ls -lF" let g:netrw_ftp_timelist_cmd= "ls -tlF" let g:netrw_ftp_sizelist_cmd= "ls -slF"
あるいは、あなたの Windows に cygwin がインストールされてゐるなら、<.vimrc> に次の設定を書いてください:
let g:netrw_cygwin= 1
この問題はリモートシステムが Windows だつた場合にも起こります。その場合、以上のやうに g:netrw_ftp_[time|size]list_cmd を設定しても、リモートシステムは期待した動作をしないでせう。
Netrw はリモートディレクトリを表示する方法として ssh と ftp を使ひます。ftp 以外が指定された場合は ssh が使はれます。(ファイル一覽取得ではなく) ファイルをダウンロードするときに、指定されたプロトコルが使はれます。
|.vimrc| に次のコマンドを書いてください:
let g:netrw_liststyle= 1
他にもいろいろカスタマイズできます。|netrw-browser-var| を參照してください。
あなたのシステムの strftime() は "%c" を指定したときに "Sun Apr 27 11:49:23 1997" のやうな出力を返しますか? さうでない場合は、"man strftime" を實行して適切なオプションを確認してください。そして、|.vimrc| にその設定を書いてください:
let g:netrw_timefmt= "%X" (X は調べたオプション)
次の設定を |.vimrc| に書いてください:
let g:netrw_keepdir= 0
(Vim メーリングリストでの Wu Yongwei 氏による囘答)
問題は確認できました。936 以外のコードページを使つてゐませんか? Windows の Unicode 版 API に對應してゐない他のアプリケーション同樣、どうやら Vim ではカレントコードページの文字以外は使へないやうです。これは OS の問題です。最近の Linux ディストリビューションのやうな UTF-8 ロケールが使へるシステムではこのやうな問題は起こらないでせう。
(かういふのが utf-8 が推奬される理由の 1 つです!)
(Dudley Fox) 私の知る限りほとんどの windows ユーザーは ssh として putty を使つてゐます。putty はフリーの ssh/telnet アプリケーションです。詳しくは url を參照してください。
http://www.chiark.greenend.org.uk/~sgtatham/putty/ Also:
(Marlin Unruh) このプログラムは私のところでも動作しました。實行ファイル 1 つなので、Windows\System32 フォルダにコピーしてショートカットを作つておくといいかも。
(Dudley Fox) plink も試してみるといいでせう。こつちの方が目的にあつてゐると思ひます。plink は putty スイートに含まれてゐます。
http://the.earth.li/~sgtatham/putty/0.58/htmldoc/Chapter7.html#plink
(Vissale Neang) OpenSSH の windows 版もあります。次の場所から入手可能:
http://sshwindows.sourceforge.net/
これは Cygwin をインストールしなくても使へます。
(Antoine Mechelynck) Windows 環境でネイティブに動く Unix プログラムが個別に欲しい場合は sourceforge の GnuWin32 プロジェクトのものがいいと思ひます:
http://gnuwin32.sourceforge.net/
Cygwin が Windows の上に Unix 假想マシンを作つてゐるのと違ひ、GnuWin32 は Windows のシステムコールで Unix のユーティリティを實裝してゐます。なので、それらのプログラムは cmd.exe と相性がいいです。
(dave) WinSCP を使つてサーバーに接續する方法もあります。Preferences > Editors で gvim をエディタとして設定する:
"c:\Program Files\Vim\vim81\gvim.exe" !.!
Norton Commander スタイルを使つてゐる場合は <F4>
を押すことでファイルをローカルにコピーしたものを gvim で開くことができます。
(Vit Gottwald) パブリックキーとプライベートキーを生成してパブリックキーをサーバーに保存する方法:
http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter8.html#pubkey-gettingready
(8.3 Getting ready for public key authentication)
’pscp’ でプライベートキーを使ふ方法:
http://www.chiark.greenend.org.uk/~sgtatham/putty/0.60/htmldoc/Chapter5.html
(5.2.4 Using public key authentication with PSCP)
(Ben Schmidt) cwRsync に附屬してゐる ssh が便利だと思ひます。私は最近これを見つけてほとんどの Windows システムに cwRsync か cwRsyncServer をインストールしました。ssh だけ使ひたい場合は同じ人が配布してゐる COPSSH を使つた方がいいかもしれません。こつちには多分 sftp とかも入つてると思ひます。cwRsync には入つてないのでよくわかりませんが。
(cec) 以上の提案を實行する場合は以下の變數を .vimrc で設定する必要があるでせう:
|g:netrw_ssh_cmd| |g:netrw_list_cmd| |g:netrw_mkdir_cmd| |g:netrw_rm_cmd| |g:netrw_rmdir_cmd| |g:netrw_rmf_cmd|
最初の變數 (|g:netrw_ssh_cmd|) が一番重要です。他の變數は g:netrw_ssh_cmd の文字列を使つて初期値が設定されます。
Netrw ではディレクトリを表示してゐるバッファに對してスワップファイルが作成されないやうにしてゐますが、その影響で、システムによつては ml_get エラーが發生することがあります。<.vimrc> で |g:netrw_use_noswf| を 0 に設定してみてください:
let g:netrw_use_noswf= 0
"[something] is a directory" プロンプトは (netrw ではなく) Vim によつて出力されてゐて、この表示をなくす方法はありません。cmdheight が 1 (初期設定) の場合にこのメッセージによつて "Press ENTER..." プロンプトが表示されます。|hit-enter| を讀んでください。|'cmdheight'| を 2 (かそれ以上) に設定するといいかもしれません。
おそらく netrw を橫のウィンドウで表示させたいのではないでせうか。もしさうなら、":[N]Lexplore" が目的のものかと思ひます。省略可能な "[N]" で |:Lexplore|r ウィンドウの起動時の幅を指定することができます (設定値については |g:netrw_winsize| を參照)。
以前の解決法:
let g:netrw_altv = 1
おそらくエンコーディングの問題です。私は普段 utf-8 を使つてゐますが、しかし ascii文字 (32-126 の範圍のバイト) しか使つてゐません。マルチバイトエンコーディングでは 1 つの文字を 2 バイトかそれ以上のバイトで表現します。|g:netrw_sepchr| や |g:netrw_xstrlen| の設定を變更してみてください。
(mikeyao) Windows 環境で vim を ssh と putty で使ひたいなら、plink と pscp/psftp の組み合はせを試してみてください。pscp/psftp は接續に、plink はサーバー上でのコマンドの實行 (例へば ’ls’ を使つてファイルとディレクトリの一覽を取得) に使用されます。
私は次のやうに設定して使つてゐます:
" ファイルの一覽取得用。一番大事な設定。これを設定しないと空のバッ " ファが表示される let g:netrw_list_cmd = "plink HOSTNAME ls -Fa" " putty のディレクトリのシステムパスに追加してゐない場合は " scp/sftp コマンドを指定する必要がある。例: "let g:netrw_sftp_cmd = "d:\\dev\\putty\\PSFTP.exe" "let g:netrw_scp_cmd = "d:\\dev\\putty\\PSCP.exe"
ssh の ControlMaster と ControlPath を試してみてください (ssh_config のマンページ參照)。1 つのネットワーク接續を複數の ssh 接續で共有できます。これにより、ファイル書き込みごとの暗號ハンドシェイクを省略でき、時には一桁くらゐ速くなります。
(http://thomer.com/howtos/netrw_ssh.html 參照)
(取り込み許可取得濟み)
~/.ssh/config に以下の設定を追加してください:
# "*" は目的のホスト名に變更してください Host * ControlMaster auto ControlPath /tmp/%r@%h:%p
そして、ホストに ssh 接續し、それを實行したままにしておきます:
ssh -N host.domain.com
そして、Vim の Netrw でファイルを開きます。快適な速度をお樂しみください:
vim scp://host.domain.com//home/user/.bashrc
まづ、netrw のマップを無效化します
let g:netrw_mousemaps= 0
そして、netrw バッファのみで使ふマップを $HOME/.vim/after/ftplugin/netrw.vim で定義します:
nmap <buffer> <2-leftmouse> <CR>
Note:
g:netrw_mousemaps をゼロに設定すると、<leftmouse> だけでなく、netrw のマウス關聯のマップはすべて無效化されます。(|g:netrw_mousemaps| 參照)
(romainl) もしかして保護ディレクトリの上で Vim を起動してゐませんか。$HOME
やその他の書き込み可能なディレクトリで Vim を起動してください。
(Lance) .vimrc に書かれた "set autochdir" が原因です。
(drchip) |'acd'| オプションをセットすると再現できました。バッファが正しく閉ぢられてゐないやうに見えます。":ls!" するとそれらの閉ぢられてゐないバッファが表示されます (":ls" では表示されません)。
以下を參照してください。
http://stackoverflow.com/questions/12469645/
"Using Vim to Remotely Edit A File on ServerB Only Accessible From ServerA"
|g:netrw_bufsettings| によつて netrw バッファの設定を制禦できます。以下を .vimrc に書いてみてください。
let g:netrw_bufsettings="noma nomod nu nobl nowrap ro nornu"
もし相對的な行番號を表示したかつたら、代はりにこれを試してください。
let g:netrw_bufsettings="noma nomod nonu nobl nowrap ro rnu"
次のコードを .vimrc に書いてみてください:
augroup VimStartup au! au VimEnter * if expand("%") == "" && argc() == 0 && \ (v:servername =~ 'GVIM\d*' || v:servername == "") \ | e . | endif augroup END
もしよければ "e" の代はりに Lexplore を使ふこともできます。このコードは client-server が有效化されてゐるのを假定してゐます (例へば "huge" バージョンの vim)。
おそらくあなたのシェルか o/s が、あなたの vim が使つてゐるエンコーディングと異なるエンコーディングを使つてゐることが原因ではないでせうか。將來 vim に "systemencoding" をサポートさせるパッチがこれを解決してくれると思はれます。今は netrw に適切なエンコーディングを使はせるやうにしてください。例へば:
au FileType netrw set enc=latin1
Netrw はコピーや移動を行ふためにいくつかのシステム用コマンドを持つてゐます (次を參照 |g:netrw_localcopycmd|, |g:netrw_localmovecmd|, |g:netrw_localrmdir|, |g:netrw_mkdir_cmd|)。
もしかしたら .vimrc でそれらを適切に設定して、デフォルトのコマンドを 1 つかそれ以上調整する必要があるかもしれません。またその他に問題を難しくしてゐる原因としてこれらのコマンドは vim のローカルディレクトリを使用します。それは netrw でブラウズしてゐるディレクトリと同じではないかもしれません (|g:netrw_keepdir| 參照)。
http://www.drchip.org/astronaut/vim/index.html#NETRW
<netrw.vim> スクリプトはたいていは次のやうな場所にあります:
/usr/local/share/vim/vim8x/plugin/netrwPlugin.vim /usr/local/share/vim/vim8x/autoload/netrw.vim (@command{:echo &rtp} の出力を參照)
これらは起動時に自動的に讀み込まれます (:set nocp
を想定)。新しい netrw を次の場所にインストールしてください。
$HOME/.vim/plugin/netrwPlugin.vim $HOME/.vim/autoload/netrw.vim
set nocp so $HOME/.vim/plugin/netrwPlugin.vim
次に netrw を次のやうに起動してください:
vim -u netrw.vimrc --noplugins -i NONE [他にパスがあればここに追加]
必要な netrw のコマンドを實行し、問題がまだ起きてゐることを確認してください。この手順は個人の .vimrc の設定、.viminfo ファイル、他のプラグインによる問題を囘避するためです。もし問題が再現しなくなつたら、あなたの .vimrc のどの設定が netrw かあるいは關與してゐる他のプラグインと衝突してゐるかを見極める必要があります。
http://www.drchip.org/astronaut/vim/index.html#DECHO
または
http://vim.sourceforge.net/scripts/script.php?script_id=120
Decho.vim は "vimball" の形で提供されてゐます。|vimball-intro| 參照。
vim netrw.vim :DechoOn :wq
通常のデバッグなし狀態に戾すには再び <netrw.vim> を編輯します
vim netrw.vim :DechoOff :wq
このコマンドは <Decho.vim> で定義されてをり、すべての Decho デバッグステートメント (Dfunc(), Dret(), Decho(), Dredir()) をコメントアウトします。
出力をファイルに保存するには次のやうにします
:tabnext :set bt= :w! DBG
加へて、次のコマンドも使つてもらへる助かります
:Dsep <command>
<command> は次にあなたがタイプするコマンドです。これによつて、デバッグ出力のどの部分がどのコマンドに對應するかを關聯付けるのが簡單になります。
その情報を <netrw.vim> のメンテナーに送つてください。あなたが使用してゐる OS や Vim のバージョン情報も一緖に添へてください。
(|:version| 參照)
NdrOchip at ScampbellPfamily.AbizM - NOSPAM
v166: Nov 06, 2019 * Removed a space from a nmap for "-" * Numerous debugging statement changes v163: Dec 05, 2017 * (Cristi Balan) reported that a setting ('sel') was left changed * (Holger Mitschke) reported a problem with saving and restoring history. Fixed. * Hopefully I fixed a nasty bug that caused a file rename to wipe out a buffer that it should not have wiped out. * (Holger Mitschke) amended this help file with additional |g:netrw_special_syntax| items * Prioritized wget over curl for g:netrw_http_cmd v162: Sep 19, 2016 * (haya14busa) pointed out two syntax errors with a patch; these are now fixed. Oct 26, 2016 * I started using mate-terminal and found that x and gx (|netrw-x| and |netrw-gx|) were no longer working. Fixed (using atril when $DESKTOP_SESSION is "mate"). Nov 04, 2016 * (Martin Vuille) pointed out that @+ was being restored with keepregstar rather than keepregplus. Nov 09, 2016 * Broke apart the command from the options, mostly for Windows. Introduced new netrw settings: |g:netrw_localcopycmdopt| |g:netrw_localcopydircmdopt| |g:netrw_localmkdiropt| |g:netrw_localmovecmdopt| |g:netrw_localrmdiropt| Nov 21, 2016 * (mattn) provided a patch for preview; swapped winwidth() with winheight() Nov 22, 2016 * (glacambre) reported that files containing spaces weren't being obtained properly via scp. Fix: apparently using single quotes such as with 'file name' wasn't enough; the spaces inside the quotes also had to be escaped (ie. 'file\ name'). * Also fixed obtain (|netrw-O|) to be able to obtain files with spaces in their names Dec 20, 2016 * (xc1427) Reported that using "I" (|netrw-I|) when atop "Hiding" in the banner also caused the active-banner hiding control to occur Jan 03, 2017 * (Enno Nagel) reported that attempting to apply netrw to a directory that was without read permission caused a syntax error. Jan 13, 2017 * (Ingo Karkat) provided a patch which makes using netrw#Call() better. Now returns value of internal routines return, for example. Jan 13, 2017 * (Ingo Karkat) changed netrw#FileUrlRead to use |:edit| instead of |:read|. I also changed the routine name to netrw#FileUrlEdit. Jan 16, 2017 * (Sayem) reported a problem where :Lexplore could generate a new listing buffer and window instead of toggling the netrw display. Unfortunately, the directions for eliciting the problem weren't complete, so I may or may not have fixed that issue. Feb 06, 2017 * Implemented cb and cB. Changed "c" to "cd". (see |netrw-cb|, |netrw-cB|, and |netrw-cd|) Mar 21, 2017 * previously, netrw would specify (safe) settings even when the setting was already safe for netrw. Netrw now attempts to leave such already-netrw-safe settings alone. (affects s:NetrwOptionRestore() and s:NetrwSafeOptions(); also introduced s:NetrwRestoreSetting()) Jun 26, 2017 * (Christian Brabandt) provided a patch to allow curl to follow redirects (ie. -L option) Jun 26, 2017 * (Callum Howard) reported a problem with :Lexpore not removing the Lexplore window after a change-directory Aug 30, 2017 * (Ingo Karkat) one cannot switch to the previously edited file (e.g. with CTRL-^) after editing a file:// URL. Patch to have a "keepalt" included. Oct 17, 2017 * (Adam Faryna) reported that gn (|netrw-gn|) did not work on directories in the current tree v157: Apr 20, 2016 * (Nicola) had set up a "nmap <expr> ..." with a function that returned a 0 while silently invoking a shell command. The shell command activated a ShellCmdPost event which in turn called s:LocalBrowseRefresh(). That looks over all netrw buffers for changes needing refreshes. However, inside a |:map-<expr>|, tab and window changes are disallowed. Fixed. (affects netrw's s:LocalBrowseRefresh()) * |g:netrw_localrmdir| not used any more, but the relevant patch that causes |delete()| to take over was #1107 (not #1109). * |expand()| is now used on |g:netrw_home|; consequently, g:netrw_home may now use environment variables * s:NetrwLeftmouse and s:NetrwCLeftmouse will return without doing anything if invoked when inside a non-netrw window Jun 15, 2016 * gx now calls netrw#GX() which returns the word under the cursor. The new wrinkle: if one is in a netrw buffer, then netrw's s:NetrwGetWord(). Jun 22, 2016 * Netrw was executing all its associated Filetype commands silently; I'm going to try doing that "noisily" and see if folks have a problem with that. Aug 12, 2016 * Changed order of tool selection for handling http://... viewing. (Nikolay Aleksandrovich Pavlov) Aug 21, 2016 * Included hiding/showing/all for tree listings * Fixed refresh (^L) for tree listings v156: Feb 18, 2016 * Changed =~ to =~# where appropriate Feb 23, 2016 * s:ComposePath(base,subdir) now uses fnameescape() on the base portion Mar 01, 2016 * (gt_macki) reported where :Explore would make file unlisted. Fixed (tst943) Apr 04, 2016 * (reported by John Little) netrw normally suppresses browser messages, but sometimes those "messages" are what is wanted. See |g:netrw_suppress_gx_mesg| Apr 06, 2016 * (reported by Carlos Pita) deleting a remote file was giving an error message. Fixed. Apr 08, 2016 * (Charles Cooper) had a problem with an undefined b:netrw_curdir. He also provided a fix. Apr 20, 2016 * Changed s:NetrwGetBuffer(); now uses dictionaries. Also fixed the "No Name" buffer problem. v155: Oct 29, 2015 * (Timur Fayzrakhmanov) reported that netrw's mapping of ctrl-l was not allowing refresh of other windows when it was done in a netrw window. Nov 05, 2015 * Improved s:TreeSqueezeDir() to use search() instead of a loop * NetrwBrowse() will return line to w:netrw_bannercnt if cursor ended up in banner Nov 16, 2015 * Added a <Plug>NetrwTreeSqueeze (|netrw-s-cr|) Nov 17, 2015 * Commented out imaps -- perhaps someone can tell me how they're useful and should be retained? Nov 20, 2015 * Added |netrw-ma| and |netrw-mA| support Nov 20, 2015 * gx (|netrw-gx|) on a URL downloaded the file in addition to simply bringing up the URL in a browser. Fixed. Nov 23, 2015 * Added |g:netrw_sizestyle| support Nov 27, 2015 * Inserted a lot of <c-u>s into various netrw maps. Jan 05, 2016 * |netrw-qL| implemented to mark files based upon |location-list|s; similar to |netrw-qF|. Jan 19, 2016 * using - call delete(directoryname,"d") - instead of using g:netrw_localrmdir if v7.4 + patch#1107 is available Jan 28, 2016 * changed to using |winsaveview()| and |winrestview()| Jan 28, 2016 * s:NetrwTreePath() now does a save and restore of view Feb 08, 2016 * Fixed a tree-listing problem with remote directories v154: Feb 26, 2015 * (Yuri Kanivetsky) reported a situation where a file was not treated properly as a file due to g:netrw_keepdir == 1 Mar 25, 2015 * (requested by Ben Friz) one may now sort by extension Mar 28, 2015 * (requested by Matt Brooks) netrw has a lot of buffer-local mappings; however, some plugins (such as vim-surround) set up conflicting mappings that cause vim to wait. The "<nowait>" modifier has been included with most of netrw's mappings to avoid that delay. Jun 26, 2015 * |netrw-gn| mapping implemted * :Ntree NotADir resulted in having the tree listing expand in the error messages window. Fixed. Jun 29, 2015 * Attempting to delete a file remotely caused an error with "keepsol" mentioned; fixed. Jul 08, 2015 * Several changes to keep the |:jumps| table correct when working with |g:netrw_fastbrowse| set to 2 * wide listing with accented characters fixed (using %-S instead of %-s with a |printf()| Jul 13, 2015 * (Daniel Hahler) CheckIfKde() could be true but kfmclient not installed. Changed order in netrw#BrowseX(): checks if kde and kfmclient, then will use xdg-open on a unix system (if xdg-open is executable) Aug 11, 2015 * (McDonnell) tree listing mode wouldn't select a file in a open subdirectory. * (McDonnell) when multiple subdirectories were concurrently open in tree listing mode, a ctrl-L wouldn't refresh properly. * The netrw:target menu showed duplicate entries Oct 13, 2015 * (mattn) provided an exception to handle windows with shellslash set but no shell Oct 23, 2015 * if g:netrw_usetab and <c-tab> now used to control whether NetrwShrink is used (see |netrw-c-tab|) v153: May 13, 2014 * added another |g:netrw_ffkeep| usage {{{2 May 14, 2014 * changed s:PerformListing() so that it always sets ft=netrw for netrw buffers (ie. even when syntax highlighting is off, not available, etc) May 16, 2014 * introduced the |netrw-ctrl-r| functionality May 17, 2014 * introduced the |netrw-:NetrwMB| functionality * mb and mB (|netrw-mb|, |netrw-mB|) will add/remove marked files from bookmark list May 20, 2014 * (Enno Nagel) reported that :Lex <dirname> wasn't working. Fixed. May 26, 2014 * restored test to prevent leftmouse window resizing from causing refresh. (see s:NetrwLeftmouse()) * fixed problem where a refresh caused cursor to go just under the banner instead of staying put May 28, 2014 * (László Bimba) provided a patch for opening the |:Lexplore| window 100% high, optionally on the right, and will work with remote files. May 29, 2014 * implemented :NetrwC (see |netrw-:NetrwC|) Jun 01, 2014 * Removed some "silent"s from commands used to implemented scp://... and pscp://... directory listing. Permits request for password to appear. Jun 05, 2014 * (Enno Nagel) reported that user maps "/" caused problems with "b" and "w", which are mapped (for wide listings only) to skip over files rather than just words. Jun 10, 2014 * |g:netrw_gx| introduced to allow users to override default "<cfile>" with the gx (|netrw-gx|) map Jun 11, 2014 * gx (|netrw-gx|), with |'autowrite'| set, will write modified files. s:NetrwBrowseX() will now save, turn off, and restore the |'autowrite'| setting. Jun 13, 2014 * added visual map for gx use Jun 15, 2014 * (Enno Nagel) reported that with having hls set and wide listing style in use, that the b and w maps caused unwanted highlighting. Jul 05, 2014 * |netrw-mv| and |netrw-mX| commands included Jul 09, 2014 * |g:netrw_keepj| included, allowing optional keepj Jul 09, 2014 * fixing bugs due to previous update Jul 21, 2014 * (Bruno Sutic) provided an updated netrw_gitignore.vim Jul 30, 2014 * (Yavuz Yetim) reported that editing two remote files of the same name caused the second instance to have a "temporary" name. Fixed: now they use the same buffer. Sep 18, 2014 * (Yasuhiro Matsumoto) provided a patch which allows scp and windows local paths to work. Oct 07, 2014 * gx (see |netrw-gx|) when atop a directory, will now do |gf| instead Nov 06, 2014 * For cygwin: cygstart will be available for netrw#BrowseX() to use if its executable. Nov 07, 2014 * Began support for file://... urls. Will use |g:netrw_file_cmd| (typically elinks or links) Dec 02, 2014 * began work on having mc (|netrw-mc|) copy directories. Works for linux machines, cygwin+vim, but not for windows+gvim. Dec 02, 2014 * in tree mode, netrw was not opening directories via symbolic links. Dec 02, 2014 * added resolved link information to thin and tree modes Dec 30, 2014 * (issue#231) |:ls| was not showing remote-file buffers reliably. Fixed. v152: Apr 08, 2014 * uses the |'noswapfile'| option (requires {{{2 vim 7.4 with patch 213) * (Enno Nagel) turn |'rnu'| off in netrw buffers. * (Quinn Strahl) suggested that netrw allow regular window splitting to occur, thereby allowing |'equalalways'| to take effect. * (qingtian zhao) normally, netrw will save and restore the |'fileformat'|; however, sometimes that isn't wanted Apr 14, 2014 * whenever netrw marks a buffer as ro, it will also mark it as nomod. Apr 16, 2014 * sftp protocol now supported by netrw#Obtain(); this means that one may use "mc" to copy a remote file to a local file using sftp, and that the |netrw-O| command can obtain remote files via sftp. * added [count]C support (see |netrw-C|) Apr 18, 2014 * when |g:netrw_chgwin| is one more than the last window, then vertically split the last window and use it as the chgwin window. May 09, 2014 * SavePosn was "saving filename under cursor" from a non-netrw window when using :Rex. v151: Jan 22, 2014 * extended :Rexplore to return to buffer {{{2 prior to Explore or editing a directory * (Ken Takata) netrw gave error when clipboard was disabled. Sol'n: Placed several if has("clipboard") tests in. * Fixed ftp://X@Y@Z// problem; X@Y now part of user id, and only Z is part of hostname. * (A Loumiotis) reported that completion using a directory name containing spaces did not work. Fixed with a retry in netrw#Explore() which removes the backslashes vim inserted. Feb 26, 2014 * :Rexplore now records the current file using w:netrw_rexfile when returning via |:Rexplore| Mar 08, 2014 * (David Kotchan) provided some patches allowing netrw to work properly with windows shares. * Multiple one-liner help messages available by pressing <cr> while atop the "Quick Help" line * worked on ShellCmdPost, FocusGained event handling. * |:Lexplore| path: will be used to update a left-side netrw browsing directory. Mar 12, 2014 * |netrw-s-cr|: use <s-cr> to close tree directory implemented Mar 13, 2014 * (Tony Mechylynck) reported that using the browser with ftp on a directory, and selecting a gzipped txt file, that an E19 occurred (which was issued by gzip.vim). Fixed. Mar 14, 2014 * Implemented :MF and :MT (see |netrw-:MF| and |netrw-:MT|, respectively) Mar 17, 2014 * |:Ntree| [dir] wasn't working properly; fixed Mar 18, 2014 * Changed all uses of set to setl Mar 18, 2014 * Commented the netrw_btkeep line in s:NetrwOptionSave(); the effect is that netrw buffers will remain as |'bt'|=nofile. This should prevent swapfiles being created for netrw buffers. Mar 20, 2014 * Changed all uses of lcd to use s:NetrwLcd() instead. Consistent error handling results and it also handles Window's shares * Fixed |netrw-d| command when applied with ftp * https: support included for netrw#NetRead() v150: Jul 12, 2013 * removed a "keepalt" to allow ":e #" to {{{2 return to the netrw directory listing Jul 13, 2013 * (Jonas Diemer) suggested changing a <cWORD> to <cfile>. Jul 21, 2013 * (Yuri Kanivetsky) reported that netrw's use of mkdir did not produce directories following the user's umask. Aug 27, 2013 * introduced |g:netrw_altfile| option Sep 05, 2013 * s:Strlen() now uses |strdisplaywidth()| when available, by default Sep 12, 2013 * (Selyano Baldo) reported that netrw wasn't opening some directories properly from the command line. Nov 09, 2013 * |:Lexplore| introduced * (Ondrej Platek) reported an issue with netrw's trees (P15). Fixed. * (Jorge Solis) reported that "t" in tree mode caused netrw to forget its line position. Dec 05, 2013 * Added <s-leftmouse> file marking (see |netrw-mf|) Dec 05, 2013 * (Yasuhiro Matsumoto) Explore should use strlen() instead s:Strlen() when handling multibyte chars with strpart() (ie. strpart() is byte oriented, not display-width oriented). Dec 09, 2013 * (Ken Takata) Provided a patch; File sizes and a portion of timestamps were wrongly highlighted with the directory color when setting `:let g:netrw_liststyle=1` on Windows. * (Paul Domaskis) noted that sometimes cursorline was activating in non-netrw windows. All but one setting of cursorline was done via setl; there was one that was overlooked. Fixed. Dec 24, 2013 * (esquifit) asked that netrw allow the /cygdrive prefix be a user-alterable parameter. Jan 02, 2014 * Fixed a problem with netrw-based ballon evaluation (ie. netrw#NetrwBaloonHelp() not having been loaded error messages) Jan 03, 2014 * Fixed a problem with tree listings * New command installed: |:Ntree| Jan 06, 2014 * (Ivan Brennan) reported a problem with |netrw-P|. Fixed. Jan 06, 2014 * Fixed a problem with |netrw-P| when the modified file was to be abandoned. Jan 15, 2014 * (Matteo Cavalleri) reported that when the banner is suppressed and tree listing is used, a blank line was left at the top of the display. Fixed. Jan 20, 2014 * (Gideon Go) reported that, in tree listing style, with a previous window open, that the wrong directory was being used to open a file. Fixed. (P21) v149: Apr 18, 2013 * in wide listing format, now have maps for {{{2 w and b to move to next/previous file Apr 26, 2013 * one may now copy files in the same directory; netrw will issue requests for what names the files should be copied under Apr 29, 2013 * Trying Benzinger's problem again. Seems that commenting out the BufEnter and installing VimEnter (only) works. Weird problem! (tree listing, vim -O Dir1 Dir2) May 01, 2013 * :Explore ftp://... wasn't working. Fixed. May 02, 2013 * introduced |g:netrw_bannerbackslash| as requested by Paul Domaskis. Jul 03, 2013 * Explore now avoids splitting when a buffer will be hidden. v148: Apr 16, 2013 * changed Netrw's Style menu to allow direct {{{2 choice of listing style, hiding style, and sorting style
07/29/09 : banner :|g:netrw_banner| can be used to suppress the suppression banner. This feature is new and experimental, so its in the process of being debugged. 09/04/09 : "gp" : See if it can be made to work for remote systems. : See if it can be made to work with marked files.
Vim editor by Bram Moolenaar (Thanks, Bram!) dav support by C Campbell fetch support by Bram Moolenaar and C Campbell ftp support by C Campbell <NdrOchip@ScampbellPfamily.AbizM> http support by Bram Moolenaar <bram@moolenaar.net> rcp rsync support by C Campbell (suggested by Erik Warendorph) scp support by raf <raf@comdyn.com.au> sftp support by C Campbell inputsecret(), BufReadCmd, BufWriteCmd contributed by C Campbell Jérôme Augé -- also using new buffer method with ftp+.netrc Bram Moolenaar -- obviously vim itself, :e and v:cmdarg use, fetch,... Yasuhiro Matsumoto -- pointing out undo+0r problem and a solution Erik Warendorph -- for several suggestions (g:netrw_..._cmd variables, rsync etc) Doug Claar -- modifications to test for success with ftp operation