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 %:h
que 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, h
es 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 autochdir
para hacer que 'c' key
surta efecto en shell, de modo que pueda usar !command args
bajo dir cambiado.
Intente agregar set autochdir
a su .vimrc
. Si desea cambiarlo solo por esta vez, use :cd
(o :cd!
para forzarlo).
cnoremap cd. lcd %:p:h
y en su nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
lugar
'c' key
en 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 netrw
mantendrá el directorio de navegación igual que el directorio actual.
Agregar esto a mi .vimrc
cambia automáticamente el directorio de trabajo de Vim al archivo actual:
autocmd BufEnter * silent! :lcd%:p:h
set autochdir
hace eso también :-)