2010-02-18 27 views

Respuesta

101

Como ya se ha sugerido, puede utilizar autochdir, que cambiará al directorio del archivo abierto, 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 

va a cambiar de directorio a su directorio (o en las ventanas, imprimir el directorio actual).

:cd - 

cambiará el directorio al directorio anterior que ha visitado.

+7

si está utilizando varias ventanas, incluso puede usar: lcd para cambiar el directorio de la ventana actual solamente. – Useless

+1

@Inútil: interesante ... No creo que alguna vez quiera eso, pero supongo que es una cuestión de gusto. Gracias por la info. – falstro

+3

Estoy tratando de averiguar qué significa%: h, ¿alguna ayuda? – Michael

7

Intente agregar set autochdir a su .vimrc. Si desea cambiarlo solo por esta vez, use :cd (o :cd! para forzarlo).

+1

la ayuda dice que esto rompe algunos plugins (no sé cuáles) así que he tomado la precaución de añadir mapeo en mi .vimrc: 'cnoremap cd. lcd%: p: h' y 'nnoremap, cd: cd%: p: h : pwd ' en su lugar – ErichBSchulz

+0

también usan '' ''c' key''' en el explorador de archivos netrw para acompañar esto. – pimgeek

12

Además, si está explorando el sistema de archivos con el explorador de archivos netrw puede configurar el directorio actual presionando la tecla c.

+0

también use '' 'set autochdir''' para hacer que la' '' 'c' key''' tenga efecto en shell, para que pueda usar '' '! Command args' '' bajo cambiado dir. – pimgeek

0

Con netrw: además de presionar la tecla c para establecer el directorio actual, también se puede poner:

let g:netrw_keepdir= 0 

en su .vimrc; esto significa que netrw mantendrá el directorio de navegación igual que el directorio actual.

+0

Esto parece tener un comportamiento equivalente a: lcd para cada cambio de carpeta netrw. ¿Tiene una idea de cómo esta configuración podría ser equivalente a: cd en su lugar (cambiar dir para todas las ventanas)? ¡Gracias! – mgouin

1

No sé lo que está mal con vim. Quiero que el directorio donde inicie vim sea el actual.

He seguido la sugerencia sobre autochd anterior y configuré eso en noautcd en mi .vimrc.

no he hecho todavía, pero estoy a punto de poner en marcha vim como éste de ahora en adelante:

vim —cmd 'cd `pwd`' 

Eso hará que se pegue al directorio actual!

1

Añadiendo esto a mi .vimrc cambia automáticamente dir de trabajo de Vim en el archivo actual:

autocmd BufEnter * silent! :lcd%:p:h 
+0

'set autochdir' hace eso también :-) –

Cuestiones relacionadas