If I open a file with vim dir/to/my/file.c
how can I easily open the directory dir/to/my
in vim's filebrowser?
11 Answers
Try :Ex[plore]
. From :help Ex
:
:Explore will open the local-directory browser on the current file's directory (or on directory [dir] if specified). The window will be split only if the file has been modified, otherwise the browsing window will take over that window. Normally the splitting is taken horizontally.
-
Make sure you
set nocompatible
on your.vimrc
or somewhere else. If you open vim in compatible mode (e..g,vim -u NONE
), even if you set nocompatible later,netrw
plugin won't be loaded and you won't be able to run:Ex
. The following setting might be necessary, too:filetype plugin on
. More details here: vi.stackexchange.com/questions/29343/…. Commented Mar 20 at 12:49
I personally prefer the:
:Sex
command. It does the split window for you, and drops you into the current directory.
:Sex dir/to/my
works too.
-
22You can also use
:Vex
to open the directory in a vertical split.– Chuan MaCommented Jun 25, 2014 at 16:56 -
8And it turns out that
Tex
was exactly what I was looking for (rather thantabe.
) Commented Apr 28, 2016 at 13:42 -
1
-
:Sex
is short for:Sexplore
and:Vex
is short for:Vexplore
, and so on.– FlimmCommented Aug 15, 2023 at 6:58
You could use:
:e %:h
More info on expansions is here: http://vimdoc.sourceforge.net/htmldoc/eval.html#expand()
As already mentioned, you can just do ":Explore" and it will open the file explorer for the directory of the current file.
However, if you need to explicitly specify the directory, you can use ctrl+r on the :-command line to read the contents of any register in, and the % register is the current filename, including a path if necessary. So, just do :e ctrl+r% then backspace over the filename, and press enter.
There are other ways to do it, but this is the method I usually use.
-
7I know this is way old, but you can also do
:e %
[tab] which will expand % for you.– BrianCommented Dec 7, 2011 at 15:20
For opening Windows Explorer showing current file's directory :
:!start explorer /select,%:p
(Source : http://vim.wikia.com/wiki/Open_Windows_Explorer_showing_directory_of_current_buffer )
Just :E
should do it. Tested on neovim.
-
2
-
1
-
1Just
Re
, no need forx
, appears to work to go back and forth between netrw and editing a file. Commented Nov 25, 2022 at 18:50
:e dir/to/my/
:e . opens the directory you initially launched vim from.
Vim browser 'c' sets the working directory.
I'm not sure if there is a way to automatically jump to the directory of the file you are editing.
If you edit with the pwd
command on unix it will open the current directory you are in.
:e `pwd`
This will not work like you want it if you did a cd
while in vim.
if you want to actually get a shell in it you'll need to :lcd %:p:h
run :shell
and then restore the working directory after you've exited
If you want to launch a custom terminal emulator in your current directory's buffer, add something like this to your vimrc:
" Set Vim's current directory to the opened buffer
set autochdir
nmap <leader>k :silent !kitty &<cr>
Replace kitty
with your favorite terminal emulator.
See also: