Löschen eines Verzeichnisses im Dired-Modus von Emacs

1

Ich möchte ein Verzeichnis im Dired-Modus von Emacs löschen. Ich markiere das Verzeichnis mit der "d" -Taste und drücke dann "x", um das markierte zu löschen. Ich erhalte dann folgende Fehlermeldung:

file-error Non-regular file is a directory <name of dir>

Gibt es eine Möglichkeit, Emacs dazu zu bringen, das Verzeichnis zu löschen und sein Gejammer zu stoppen?

oneself
quelle

Antworten:

4

Ich bin mir nicht sicher, welche Emacs-Version du hast, meine gibt mir diesen Fehler: (file-error Removing directory Directory not empty ...) Bei leeren Verzeichnissen klagt es nicht.

Jedenfalls gibt es in der Version, die ich habe, eine Variable: dired-recursive-deletes das entscheidet, ob Verzeichnisse gelöscht werden können, wenn sie Inhalt haben. Sie sollten diese Variable daher anpassen mit:

M-x customize-variable

und dann, wenn die Eingabeaufforderung Folgendes angibt:

dired-recursive-deletes

Sie können dann das Verhalten auswählen, indem Sie auf die Schaltfläche "Wertemenü" klicken und es dann mit der Schaltfläche oben im Puffer speichern.

Mortimer
quelle
1
In .emacs: (setq dired-recursive-deletes 'top)
oneself
1
Und mit meiner Version von Emacs, mit meinen persönlichen Einstellungen Ich erinnere mich nicht über dieses zwicken, es fragt mich nur, wenn ich (wirklich) will rekursiv das Verzeichnis löschen, und dann gehe.
Nikana Reklawyks
0

Der einfache Weg ist: ein. MARK (m) die zu löschenden Verzeichnisse;
b. Positionieren Sie POINT auf einer der markierten Dateien.
c. Art '!' [dired-do-command], an der Eingabeaufforderung "Execute command ..." geben Sie "rm -Rf" ein
d. Geben Sie 'g' ein, um den dired-Puffer zu aktualisieren, da Emacs nicht weiß, dass Sie das Dateisystem geändert haben.

Dieser letzte Schritt könnte sinnvollerweise zu einer Option für dired gemacht werden: "Aktualisiere den Puffer nach dem Shell-Befehl." Vielleicht ist es schon einer.

BTW, das 'dired-recursive-deletes' bringt mir ein "[no match]"

David A. Cobb
quelle