Wie erstelle ich ein Verzeichnis in Emacs?

142

Wie genau kann ich mit Emacs ein neues Verzeichnis erstellen? Welche Befehle verwende ich? (Wenn möglich, geben Sie bitte ein Beispiel an)

Strahl
quelle

Antworten:

195
  • Geben Sie Folgendes ein dir/to/create, um das Verzeichnis zu erstellen :

    M-x make-directory RET dir/to/create RET
  • erstellen Verzeichnisse dir/parent1/nodeund dir/parent2/nodegeben Sie ein :

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

    Es wird davon ausgegangen, dass die minderwertige Shell von Emacs bash/ zshoder eine andere kompatible Shell ist.

  • oder in einem DiredModus

    +

    Es werden keine nicht vorhandenen übergeordneten Verzeichnisse erstellt.

    Beispiel:

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

    CWD steht für Current Working Directory.

  • oder erstellen Sie einfach eine neue Datei mit nicht vorhandenen übergeordneten Verzeichnissen mit C-x C-fund geben Sie Folgendes ein:

    M-x make-directory RET RET

Emacs fordert Sie auf, die übergeordneten Verzeichnisse automatisch zu erstellen, während eine neue Datei in den neuesten Emacs-Versionen gespeichert wird. Eine ältere Version finden Sie unter So lassen Sie Emacs Zwischenverzeichnisse erstellen - beim Speichern einer Datei.

jfs
quelle
1
Hallo JF Sebastian, wie aktualisiere ich das Verzeichnisfenster, wenn ich ein Verzeichnis in der Shell erstelle?
Warum
2
@ Warum: Typ g. Im Allgemeinen M-x describe-mode RET( C-h m), um die Dokumentation des aktuellen Hauptmodus anzuzeigen.
JFS
Vielen Dank! Aber du meinst, ich gebe Mx g oder Cx g ein?
Warum
1
@ Warum meint er eine Single g. Da dired-modees sich nicht um einen Bearbeitungsmodus handelt, werden Befehle mit einem Buchstaben direkt verwendet (für Neugierige: gist self-insert-commandin den meisten Bearbeitungsmodi gebunden ).
Vicky Chijwani
42

Ctrl+ X D( C-x d), um ein Verzeichnis im "dired" -Modus zu öffnen und dann +ein Verzeichnis zu erstellen.

Kirk Strauser
quelle
Ich gehe davon aus, dass das '+' am Ende des neuen Dateipfadverzeichnisses steht.
Ray
Wenn ich Cx Cf mache und "+ dirname" eingebe, erstellt emacs eine Datei "+ dirname", es erstellt kein Verzeichnis "dirname". Ich arbeite mit OSX, ich weiß nicht, ob das das Problem ist, weil dies unter Linux funktioniert hat.
Zeynel
4
@ Zeynel: Du liest nicht. Hier gibt es kein C-x C-f. Sie C-x dwechseln in den Dired-Modus und besuchen das Verzeichnis, in dem Sie ein Unterverzeichnis erstellen möchten. Dann schlägst du +. Das ist alles.
Drew
8

Sie können auch einzelne Shell-Befehle mit ausführen M-!

Sie senden im Grunde eine Zeichenfolge an die Befehlszeile, damit Sie keine nette automatische Vervollständigung erhalten. Dies ist jedoch hilfreich, wenn Sie wissen, wie eine Aktion über die Befehlszeile ausgeführt wird, aber keine Emacs-äquivalente Methode kennen.

M-! mkdir /path/to/new_dir
Cristian
quelle
Dies funktioniert. Geben Sie anschließend 'g' ein, um den Bildschirminhalt zu aktualisieren.
Mistige
5

Ich glaube, ich habe es heute früher auf die harte Tour gemacht. Ich tat:

M-x shell-command

dann

mkdir -p topdir/subdir
etank
quelle
4

Sie können M-x make-directoryinnerhalb eines beliebigen Puffers verwenden, nicht unbedingt eines dired-Puffers. Es ist eine Lisp-Funktion, die Sie ebenfalls verwenden können.

Jonathan Arkell
quelle
2

Ich bin auf diese Frage gestoßen, als ich nach Möglichkeiten gesucht habe, Verzeichnisse in Emacs automatisch zu erstellen. Die beste Antwort, die ich fand, war ein paar Jahre später in einem anderen Thread . Die Antwort von Victor Deryagin war genau das, wonach ich gesucht hatte. Wenn Sie diesen Code zu Ihren .emacs hinzufügen, werden Sie von Emacs aufgefordert, das Verzeichnis zu erstellen, wenn Sie die Datei speichern.

Brian Taylor
quelle