Réponses:
Comme déjà suggéré, vous pouvez utiliser autochdir, qui passera au répertoire du fichier que vous avez ouvert, l'autre option est
:cd mydirectory
ce qui changera le répertoire. Cela peut être un chemin absolu ou relatif, donc :cd ..
va monter d'un niveau. Ou vous pouvez utiliser :cd %:h
qui changera également dans le répertoire dans lequel se trouve le fichier actuel, mais sans définir autochdir.
:cd
changera de répertoire vers votre répertoire personnel (ou sous Windows, imprimera le répertoire courant).
:cd -
changera le répertoire vers le répertoire précédent que vous avez visité.
%
traduit par le nom du fichier courant, y compris le chemin, :
ajoute un modificateur, h
est head, c'est-à-dire le chemin jusqu'au dernier séparateur de chemin, c'est-à-dire excluant le nom du fichier lui-même.
De plus, si vous parcourez le système de fichiers avec l'explorateur de fichiers netrw, vous pouvez définir le répertoire actuel en appuyant sur la touche c.
set autochdir
pour rendre l' 'c' key
effet dans le shell, afin que vous puissiez utiliser !command args
sous le répertoire modifié.
Essayez d'ajouter set autochdir
à votre .vimrc
. Si vous souhaitez le modifier une seule fois, utilisez :cd
(ou :cd!
pour le forcer).
cnoremap cd. lcd %:p:h
et à la nnoremap ,cd :cd %:p:h<CR>:pwd<CR>
place
'c' key
dans l'explorateur de fichiers netrw pour accompagner cela.
Je ne sais pas ce qui ne va pas avec vim. Je veux que le répertoire dans lequel je lance vim soit le répertoire courant.
J'ai suivi le conseil sur autochd ci-dessus et mis cela à noautcd dans mon .vimrc.
Je ne l'ai pas encore fait, mais je suis sur le point de démarrer vim comme ça à partir de maintenant:
vim —cmd 'cd `pwd`'
Cela le fera coller au répertoire actuel!
En netrw:
plus d'appuyer sur la ctouche pour définir le répertoire courant, vous pouvez également mettre:
let g:netrw_keepdir= 0
dans votre .vimrc
; cela signifie que netrw
le répertoire de navigation restera le même que le répertoire actuel.
L'ajout de ceci à mon .vimrc
change automatiquement le répertoire de travail de Vim dans le fichier actuel:
autocmd BufEnter * silent! :lcd%:p:h
set autochdir
fait ça aussi :-)