Cómo configurar el directorio de trabajo / actual en Vim?


Así que cuando quiero crear un nuevo archivo usando el comando :e no quiero especificar la ruta completa, solo el nuevo nombre del archivo. ¿Se puede hacer?

Author: Fred, 2010-02-18

6 answers

Como ya se ha sugerido, puede usar autochdir, que cambiará al directorio del archivo que abrió, la otra opción es

:cd mydirectory

Que cambiará el directorio. Esto puede ser una ruta absoluta o relativa, por lo que :cd .. se moverá 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 principal (o en Windows, imprima el directorio actual directorio).

:cd -

Cambiará el directorio al directorio anterior que visitó.

 110
Author: falstro,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-18 13:11:08

También si está navegando por el sistema de archivos con el explorador de archivos netrw, puede establecer el directorio actual presionando la tecla c.

 13
Author: Dave Kirby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-18 17:29:29

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

 7
Author: John Feminella,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-02-18 13:08:07

No se que esta mal con vim. Quiero el directorio donde arranque vim como el actual.

He seguido el consejo sobre autochd anterior y lo puse 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 adhiera al directorio actual!

 1
Author: McUsr,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-01-23 14:33:13

Agregar esto a mi .vimrc cambia automáticamente el directorio de trabajo de Vim al archivo actual:

autocmd BufEnter * silent! :lcd%:p:h
 1
Author: Matthias Braun,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-23 16:39:30

Con netrw: además de presionar la tecla c para establecer el directorio actual, también 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.

 1
Author: Chip Campbell,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-04-14 19:52:30