So when I want to create a new file by using the :e command I don\'t want to specify the whole path, just the new filename. Can it be done?
Try adding set autochdir
to your .vimrc
. If you want to change it just this once, use :cd
(or :cd!
to force it).
I don't know what is wrong with vim. I want the directory where I start up vim as the current.
I have followed the tip about autochd above and set that to noautcd in my .vimrc.
I haven't done it yet, but I am about to start up vim like this from now on:
vim —cmd 'cd `pwd`'
That will make it stick to the current directory!
Also if you are browsing the filesystem with the netrw file explorer you can set the current directory by pressing the c key.
Adding this to my .vimrc
automatically changes Vim's working dir to the current file:
autocmd BufEnter * silent! :lcd%:p:h
As already suggested, you can use autochdir, which will change to the directory of the file you opened, the other option is
:cd mydirectory
which will change the directory. This can be an absolute or relative path, so :cd ..
will move up one level. Or you can use :cd %:h
which will also change to the directory the current file is in, but without setting autochdir.
:cd
will change directory to your home directory (or on windows, print the current directory).
:cd -
will change the directory to the previous directory you visited.
With netrw:
in addition to pressing the c key to set the current directory, you may also put:
let g:netrw_keepdir= 0
in your .vimrc
; this means that netrw
will keep the browsing directory the same as the current directory.