web-dev-qa-db-fra.com

Comment ouvrir le répertoire du fichier actuellement ouvert?

Si j'ouvre un fichier avec vim dir/to/my/file.c, comment puis-je facilement ouvrir le répertoire dir/to/my dans le navigateur de fichiers de vim?

80
JtR

Essayez :Ex[plore]. De :help Ex:

: Explore ouvrira le navigateur de répertoire local sur le répertoire du fichier actuel (ou sur le répertoire [dir] si spécifié). La fenêtre ne sera divisée que si le fichier a été modifié, sinon la fenêtre de navigation reprendra cette fenêtre. Normalement, le fractionnement est pris horizontalement.

101
innaM

Personnellement, je préfère le:

:Sex

commander. Il fait la fenêtre divisée pour vous et vous place dans le répertoire actuel.

:Sex dir/to/my

fonctionne aussi.

74
Jack M.

Vous pouvez utiliser:

:e %:h

Plus d'informations sur les extensions sont ici: http://vimdoc.sourceforge.net/htmldoc/eval.html#expand ()

13
Jake

Comme déjà mentionné, vous pouvez simplement faire ": Explorer" et cela ouvrira l'explorateur de fichiers pour le répertoire du fichier actuel.

Toutefois, si vous devez spécifier explicitement le répertoire, vous pouvez utiliser ctrl+r sur la ligne de commande: pour lire le contenu de tout registre, et le registre% est le nom du fichier actuel, avec un chemin si nécessaire. Alors, fais juste: e ctrl+r% puis revenez en arrière sur le nom du fichier et appuyez sur entrée.

Il y a d'autres façons de le faire, mais c'est la méthode que j'utilise habituellement.

10
Heptite

Pour ouvrir l’explorateur Windows affichant le répertoire du fichier actuel:

:!start Explorer /select,%:p

(Source: http://vim.wikia.com/wiki/Open_Windows_Explorer_showing_directory_of_current_buffer )

3
DomCha

Si vous éditez avec la commande pwd sous unix, cela ouvrira le répertoire actuel dans lequel vous vous trouvez.

:e `pwd`

Cela ne fonctionnera pas comme vous le souhaitez si vous avez fait une cd pendant que vous êtes dans vim.

1
nik
:e `dirname %`

dirname se développe dans le répertoire dans lequel se trouve le fichier actuel.

0

si vous voulez obtenir un shell, vous devrez :lcd %:p:h exécuter :Shell puis restaurer le répertoire de travail après vous être arrêté.

0
JonnyRaa