Comment créer un répertoire depuis Emacs?

142

Comment créer exactement un nouveau répertoire en utilisant Emacs? Quelles commandes dois-je utiliser? (Si possible, veuillez donner un exemple)

Rayon
la source

Réponses:

195
  • pour créer le répertoire dir/to/create, tapez:

    M-x make-directory RET dir/to/create RET
  • pour créer des répertoires dir/parent1/nodeet dir/parent2/nodetapez:

    M-! mkdir -p dir/parent{1,2}/node RET

    Il suppose que le shell inférieur d'Emacs est bash/ zshou un autre shell compatible.

  • ou dans un Diredmode

    +

    Il ne crée pas de répertoires parents inexistants.

    Exemple:

    C-x d *.py RET ; shows python source files in the CWD in `Dired` mode
    + test RET     ; create `test` directory in the CWD

    CWD signifie répertoire de travail actuel.

  • ou créez simplement un nouveau fichier avec des répertoires parents non existants en utilisant C-x C-fet tapez:

    M-x make-directory RET RET

Emacs demande de créer automatiquement les répertoires parents tout en enregistrant un nouveau fichier dans les versions récentes d'Emacs. Pour une version plus ancienne, voir Comment faire en sorte qu'Emacs crée des répertoires intermédiaires - lors de l'enregistrement d'un fichier?

jfs
la source
1
Salut JF Sebastian, Lorsque je crée un répertoire dans le shell, comment mettre à jour la fenêtre du répertoire?
pourquoi le
2
@why: tapez g. En général M-x describe-mode RET( C-h m) pour afficher la documentation du mode majeur actuel.
jfs
Merci beaucoup! Mais vous voulez dire que je saisis Mx g ou Cx g?
pourquoi le
1
@ pourquoi il veut dire un célibataire g. Comme ce dired-moden'est pas un mode d'édition, il utilise directement des commandes à une seule lettre (pour les curieux: gest lié à self-insert-commanddans la plupart des modes d'édition).
Vicky Chijwani
42

Ctrl+ X D( C-x d) pour ouvrir un répertoire en mode "dired", puis +pour créer un répertoire.

Kirk Strauser
la source
Je suppose que le '+' va à la fin de quel que soit le nouveau répertoire de chemin de fichier?
Ray
quand je fais Cx Cf et que j'entre "+ dirname" emacs crée un fichier "+ dirname", il ne crée pas de répertoire "dirname". Je travaille avec OSX, je ne sais pas si c'est le problème car sous Linux cela fonctionnait.
Zeynel
4
@Zeynel: Vous ne lisez pas. Il n'y a pas C-x C-fici. Vous utilisez C-x dpour entrer en mode Dired, en visitant le répertoire où vous souhaitez créer un sous-répertoire. Ensuite, vous frappez +. C'est tout.
Drew le
8

Vous pouvez également exécuter des commandes à shell unique en utilisant M-!

En gros, vous envoyez une chaîne à la ligne de commande pour ne pas obtenir une auto-complétion intéressante, mais c'est utile si vous savez comment effectuer une action via la ligne de commande mais que vous ne connaissez pas une méthode équivalente à Emacs.

M-! mkdir /path/to/new_dir
Cristian
la source
Cela fonctionne, tapez «g» après pour mettre à jour le contenu de l'écran.
mistige le
5

Je suppose que je l'ai fait à la dure plus tôt aujourd'hui. J'ai fait:

M-x shell-command

puis

mkdir -p topdir/subdir
etank
la source
4

Vous pouvez utiliser à l' M-x make-directoryintérieur de n'importe quel tampon, pas nécessairement un tampon dired. C'est une fonction lisp que vous pouvez également utiliser.

Jonathan Arkell
la source
2

Je suis tombé sur cette question en cherchant comment créer automatiquement des répertoires dans Emacs. La meilleure réponse que j'ai trouvée était dans un autre fil de discussion de quelques années plus tard. La réponse de Victor Deryagin était exactement ce que je recherchais. L'ajout de ce code à votre .emacs fera qu'Emacs vous invitera à créer le répertoire lorsque vous allez enregistrer le fichier.

Brian Taylor
la source