Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
A quick reference for Vim's built-in netrw file selector.
Map Action
<F1> Causes Netrw to issue help
<cr> Netrw will enter the directory or read the file
<del> Netrw will attempt to remove the file/directory
- Makes Netrw go up one directory
a Toggles between normal display, hiding (suppress display of files matching g:netrw_list_hide) showing (display only files which match g:netrw_list_hide)
c Make browsing directory the current directory
C Setting the editing window
d Make a directory
D Attempt to remove the file(s)/directory(ies)
gb Go to previous bookmarked directory
gh Quick hide/unhide of dot-files
<c-h> Edit file hiding list
i Cycle between thin, long, wide and tree listings
<c-l> Causes Netrw to refresh the directory listing
mb Bookmark current directory
mc Copy marked files to marked-file target directory
md Apply diff to marked files (up to 3)
me Place marked files on arg list and edit them
mf Mark a file
mh Toggle marked file suffices' presence on hiding list
mm Move marked files to marked-file target directory
mp Print marked files
mr Mark files satisfying a shell-style
mt Current browsing directory becomes markfile target
mT Apply ctags to marked files
mu Unmark all marked files
mx Apply arbitrary shell command to marked files
mz Compress/decompress marked files
o Enter the file/directory under the cursor in a new browser window. A horizontal split is used.
O Obtain a file specified by cursor
p Preview the file
P Browse in the previously used window
qb List bookmarked directories and history
qf Display information on file
r Reverse sorting order
R Rename the designed file(s)/directory(ies)
s Select sorting style: by name, time or file size
S Specify suffix priority for name-sorting
t Enter the file/directory under the cursor in a new tab
u Change to recently-visited directory
U Change to subsequently-visited directory
v Enter the file/directory under the cursor in a new browser window. A vertical split is used.
x View file with an associated program
X Execute filename under cursor via
% Open a new file in netrw's current directory
@rafaelrinaldi
Copy link

rafaelrinaldi commented Dec 20, 2016

Thanks for this list!

@camilstaps
Copy link

camilstaps commented Feb 24, 2017

Just do :help netrw-quickmap.

@julian1
Copy link

julian1 commented Apr 28, 2017

Great list!

@Amine26
Copy link

Amine26 commented Nov 4, 2017

thanks

@BracketMaster
Copy link

BracketMaster commented Feb 2, 2018

Just what I needed!

@ArtBIT
Copy link

ArtBIT commented Mar 29, 2018

Or simply bind ? to show netrw quickmaps help entry:

autocmd FileType netrw nnoremap ? :help netrw-quickmap<CR>

@vmnair
Copy link

vmnair commented Apr 29, 2018

Thank you

@jonpemby
Copy link

jonpemby commented Oct 23, 2018

Starring — great reference and super helpful comment by @ArtBIT 👍

@vysogot
Copy link

vysogot commented Feb 21, 2020

Thank you!

@niyazi-eren
Copy link

niyazi-eren commented Jul 5, 2020

Thanks

@pseyfert
Copy link

pseyfert commented Aug 10, 2021

@ArtBIT iiuc that command binding persists in other buffers

e.g.

  • open a file in vim
  • ? is search
  • split view (^Wv)
  • open netrw (:e ./)
  • ? opens netrw quickmap
  • go back to the file buffer ^w^w
  • ? still opens netrw quickmap. imo it should (meaning it would be more intuitive and more desirable) search again.

@ArtBIT
Copy link

ArtBIT commented Aug 10, 2021

@pseyfert you could try something like this, then:

autocmd BufEnter * if &ft == "netrw" | execute 'nmap ? :help netrw-quickmap<CR>' | endif
autocmd BufEnter * if &ft != "netrw" | execute 'silent! nunmap ?' | endif

@bradwood
Copy link

bradwood commented Apr 20, 2022

gn -- make netrw move the currently selected directory to the root of the buffer view

@davidmaxwaterman
Copy link

davidmaxwaterman commented May 31, 2022

I wonder if there's a way to print this gist without all the github fluff around it.

@aalvarado
Copy link

aalvarado commented Jun 2, 2022

@davidmaxwaterman There are a few options:

  • Fork the gist, then no comments will remain in the new fork
  • Open web developer tools and you delete the nodes you want to take out

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment