Respuestas:
Como ya se sugirió, puede usar autochdir, que cambiará al directorio del archivo que abrió, la otra opción es
:cd mydirectory
que cambiará el directorio. Esta puede ser una ruta absoluta o relativa, por lo que :cd ..subirá un nivel. O puede usar :cd %:hque también cambiará al directorio en el que se encuentra el archivo actual, pero sin configurar autochdir.
:cd
cambiará el directorio a su directorio de inicio (o en Windows, imprimirá el directorio actual).
:cd -
cambiará el directorio al directorio anterior que visitó.
%traduce al nombre del archivo actual, incluida la ruta, :agrega el modificador, hes head, es decir, la ruta hasta el último separador de ruta, es decir, excluye el nombre del archivo en sí.
Además, si está navegando por el sistema de archivos con el explorador de archivos netrw, puede configurar el directorio actual presionando la tecla c.
set autochdirpara hacer que 'c' keysurta efecto en shell, de modo que pueda usar !command args bajo dir cambiado.
Intente agregar set autochdira su .vimrc. Si desea cambiarlo solo por esta vez, use :cd(o :cd!para forzarlo).
cnoremap cd. lcd %:p:hy en su nnoremap ,cd :cd %:p:h<CR>:pwd<CR>lugar
'c' keyen el explorador de archivos netrw para acompañar esto.
No sé qué le pasa a vim. Quiero el directorio donde inicio vim como el actual.
Seguí el consejo sobre autochd anterior y lo configuré en noautcd en mi .vimrc.
Todavía no lo he hecho, pero estoy a punto de iniciar vim así a partir de ahora:
vim —cmd 'cd `pwd`'
¡Eso hará que se quede en el directorio actual!
Con netrw:además de presionar la ctecla para establecer el directorio actual, también se puede poner:
let g:netrw_keepdir= 0
en tu .vimrc; esto significa que netrwmantendrá el directorio de navegación igual que el directorio actual.
Agregar esto a mi .vimrccambia automáticamente el directorio de trabajo de Vim al archivo actual:
autocmd BufEnter * silent! :lcd%:p:h
set autochdirhace eso también :-)