Come faccio a creare una directory da Emacs?


142

Come posso esattamente creare una nuova directory usando Emacs? Quali comandi uso? (Se possibile, fornisci un esempio)

Risposte:


195
  • per creare la directory dir/to/create, digitare:

    M-x make-directory RET dir/to/create RET
  • per creare directory dir/parent1/nodee dir/parent2/nodedigitare:

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

    Presuppone che la shell inferiore di Emacs sia bash/ zsho altra shell compatibile.

  • o in una Diredmodalità

    +

    Non crea directory principali inesistenti.

    Esempio:

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

    CWD è l'acronimo di Current Working Directory.

  • o semplicemente creare un nuovo file con directory padre inesistenti utilizzando C-x C-fe digitare:

    M-x make-directory RET RET

Emacs chiede di creare automaticamente le directory principali durante il salvataggio di un nuovo file nelle versioni recenti di Emacs. Per la versione precedente, vedi Come fare in modo che Emacs crei directory intermedie - quando si salva un file?


1
Ciao JF Sebastian, quando creo una directory nella shell, come aggiornare la finestra della directory?
perché

2
@why: tipo g. In generale M-x describe-mode RET( C-h m) per visualizzare la documentazione della modalità principale corrente.
jfs,

Grazie mille! Ma vuoi dire che inserisco Mx go Cx g?
perché

1
@perché intende un singolo g. Poiché dired-modenon è una modalità di modifica, utilizza direttamente i comandi a lettera singola (per i curiosi: gè associato self-insert-commandnella maggior parte delle modalità di modifica).
Vicky Chijwani,

42

Ctrl+ X D( C-x d) per aprire una directory in modalità "dired", quindi +per creare una directory.


Presumo che il '+' vada alla fine di qualunque sia la nuova directory del percorso del file?
Ray,

quando faccio Cx Cf e inserisco "+ dirname" emacs crea un file "+ dirname", non crea una directory "dirname". Sto lavorando con OSX, non so se questo è il problema perché in Linux ha funzionato.
Zeynel,

4
@Zeynel: non stai leggendo. Non c'è C-x C-fqui. Si utilizza C-x dper accedere alla modalità Dired, visitando la directory in cui si desidera creare una sottodirectory. Quindi colpisci +. È tutto.
Estratto il

8

È inoltre possibile eseguire singoli comandi shell usando M-!

In pratica stai inviando una stringa alla riga di comando in modo da non ottenere alcun completamento automatico, ma è utile se sai come eseguire un'azione attraverso la riga di comando ma non conosci un modo equivalente di Emacs.

M-! mkdir /path/to/new_dir

Funziona, digita 'g' per aggiornare i contenuti della schermata.
mistige

5

Immagino di averlo fatto duramente prima di oggi. L'ho fatto:

M-x shell-command

poi

mkdir -p topdir/subdir

4

È possibile utilizzare M-x make-directoryall'interno di qualsiasi buffer, non necessariamente un buffer diretto. È anche una funzione lisp che puoi usare.


2

Mi sono imbattuto in questa domanda durante la ricerca di come creare automaticamente directory in Emacs. La migliore risposta che ho trovato è stata in un altro thread di qualche anno dopo. La risposta di Victor Deryagin era esattamente quello che stavo cercando. Se aggiungi quel codice a .emacs, Emacs ti chiederà di creare la directory quando vai a salvare il file.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.