Are you happy with your logging solution? Would you help us out by taking a 30-second survey? Click here


Network oriented reading, writing, and browsing (keywords: netrw ftp scp)

Subscribe to updates I use netrw.vim

Statistics on netrw.vim

Number of watchers on Github 70
Number of open issues 2
Main language VimL
Open pull requests 2+
Closed pull requests 1+
Last commit over 8 years ago
Repo Created about 9 years ago
Repo Last Updated almost 2 years ago
Size 540 KB
Homepage http://www.vim.or...
Organization / Authorvim-scripts
Page Updated
Do you use netrw.vim? Leave a review!
View open issues (2)
View netrw.vim activity
View on github
Fresh, new opensource launches 🚀🚀🚀
Trendy new open source projects in your inbox! View examples

Subscribe to our mailing list

Evaluating netrw.vim for your project? Score Explanation
Commits Score (?)
Issues & PR Score (?)

This is a mirror of


Netrw supports reading and writing files across networks. One may use urls for filenames or one may use netrw's Nread and Nwrite commands. Netrw as provided here supports remote and local directory browsing, and supports editing files across the network using a variety of methods. Please report any bugs to NdrOchip@ScampbellPfamily.AbizM - NOSPAM.

Example:  vim ftp://user@machine/path

(the following table should be columnar if fixed-width fonts are used in your browser)

    :e dav://machine[:port]/path                      uses cadaver
    :e fetch://[user@]machine/path                  uses fetch
    :e ftp://[user@]machine[[:#]port]/path          uses ftp   autodetects <.netrc>
    :e http://[user@]machine/path                    uses http  uses wget
    :e rcp://[user@]machine/path                     uses rcp
    :e rsync://[user@]machine[:port]/path         uses rsync
    :e scp://[user@]machine[[:#]port]/path        uses scp
    :e sftp://[user@]machine/path                    uses sftp

    :Nread ?                                                     give help
    :Nread "machine:path"                                 uses rcp
    :Nread "machine path"                                 uses ftp   with <.netrc>
    :Nread "machine id password path"              uses ftp
    :Nread "dav://machine[:port]/path"                uses cadaver
    :Nread "fetch://[user@]machine/path"            uses fetch
    :Nread "ftp://[user@]machine[[:#]port]/path"    uses ftp   autodetects <.netrc>
    :Nread "http://[user@]machine/path"              uses http  uses wget
    :Nread "rcp://[user@]machine/path"               uses rcp
    :Nread "rsync://[user@]machine[:port]/path"   uses rsync
    :Nread "scp://[user@]machine[[:#]port]/path"  uses scp
    :Nread "sftp://[user@]machine/path"             uses sftp

    :Nwrite ?                                                      give help
    :Nwrite "machine:path"                                  uses rcp
    :Nwrite "machine path"                                  uses ftp   with <.netrc>
    :Nwrite "machine id password path"               uses ftp
    :Nwrite "dav://machine[:port]/path"                  uses cadaver
    :Nwrite "ftp://[user@]machine[[:#]port]/path"     uses ftp   autodetects <.netrc>
    :Nwrite "rcp://[user@]machine/path"                uses rcp
    :Nwrite "rsync://[user@]machine[:port]/path"    uses rsync
    :Nwrite "scp://[user@]machine[[:#]port]/path"   uses scp
    :Nwrite "sftp://[user@]machine/path"               uses sftp
    http: not supported!

    :e [protocol]://[user]@hostname/path/
    :Nread [protocol]://[user]@hostname/path/

    :e /some/path/to/a/directory

Netrw supports browsing both local and remote directories. For remote directory browsing, one must include a trailing slash (/) on the path! The interface resembles the file explorer that comes with vim v6.3 and earlier. Variables which control netrw's optional behavior are named differently, however.

For remote directory browsing, the [protocol]://[user]@hostname/path/ is user-directory relative. If you want to specify a full path, use another slash before the path: [protocol]://[user]@hostname//path/.

Netrw supports many file-explorer maps, such as o v d D etc. Look at the help for netrw-o, for example. One may also use :Explore and relatives to explore directories with the current file.

The netrw.vba.gz vimball supports the x key to execute a file handler for various filetypes. The file-handling is done in various ways:

* Under Windows, rundll32 is used with the FileProtocolHandler
* If unix and kfmclient exists and is executable, it is used
* If unix and gnome-open exists and is executable, it is used
* Otherwise, the NetrwFileHandler.vim file handling script is used

With this feature, one may press the x key when the cursor is atop a filename and invoke an extension-based file handler to do things like display image files, invoke ghostscript on PostScript files, run OpenOffice or Word, etc.


(alpha/beta version available at

netrw.vim open pull requests (View All Pulls)
  • mark cmd with trailing star as bat exe and com under windows
  • This commit adds Dropbox support to the netrw plugin.
netrw.vim questions on Stackoverflow (View All Questions)
  • Patching macvim remote editing, file netrw.vim
netrw.vim list of languages used
  • Vim script
Other projects in VimL