¿Cómo creo un directorio desde Emacs?

142

¿Cómo exactamente puedo crear un nuevo directorio usando Emacs? ¿Qué comandos uso? (Si es posible, proporcione un ejemplo)

Rayo
fuente

Respuestas:

195
  • para crear el directorio dir/to/create, escriba:

    M-x make-directory RET dir/to/create RET
  • para crear directorios dir/parent1/nodey dir/parent2/nodeescriba:

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

    Se supone que el shell inferior de Emacs es bash/ zshu otro shell compatible.

  • o en un Diredmodo

    +

    No crea directorios primarios inexistentes.

    Ejemplo:

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

    CWD significa directorio de trabajo actual.

  • o simplemente cree un nuevo archivo con directorios principales no existentes usando C-x C-fy escriba:

    M-x make-directory RET RET

Emacs solicita crear los directorios principales automáticamente mientras guarda un nuevo archivo en versiones recientes de Emacs. Para una versión anterior, vea ¿Cómo hacer que Emacs cree directorios intermedios, al guardar un archivo?

jfs
fuente
1
Hola JF Sebastian, cuando creo un directorio en shell, ¿cómo actualizar la ventana del directorio?
por qué
2
@ por qué: tipo g. En general M-x describe-mode RET( C-h m) para mostrar la documentación del modo principal actual.
jfs
¡Muchas gracias! ¿Pero quieres decir que ingreso Mx go Cx g?
por qué
1
@por qué quiere decir soltero g. Como dired-modeno es un modo de edición, utiliza comandos de una sola letra directamente (para los curiosos: gestá obligado self-insert-commanden la mayoría de los modos de edición).
Vicky Chijwani
42

Ctrl+ X D( C-x d) para abrir un directorio en modo "dired", luego +para crear un directorio.

Kirk Strauser
fuente
Supongo que el '+' va al final de lo que sea que sea el nuevo directorio de ruta de archivo.
Ray
cuando hago Cx Cf e ingreso "+ dirname", emacs crea un archivo "+ dirname", no crea un directorio "dirname". Estoy trabajando con OSX, no sé si ese es el problema porque en Linux esto funcionó.
Zeynel
44
@ Zeynel: No estás leyendo. No hay C-x C-faqui. Se usa C-x dpara ingresar al modo Dired, visitando el directorio donde desea crear un subdirectorio. Entonces golpeas +. Eso es todo.
Dibujó el
8

También puede ejecutar comandos de shell individuales utilizando M-!

Básicamente, está enviando una cadena a la línea de comando para que no obtenga ninguna finalización automática agradable, pero es útil si sabe cómo realizar una acción a través de la línea de comando pero no conoce una forma equivalente de Emacs.

M-! mkdir /path/to/new_dir
Cristian
fuente
Esto funciona, escriba 'g' después para actualizar el contenido de la pantalla.
mistige
5

Supongo que lo hice por las malas hoy temprano. Yo hice:

M-x shell-command

luego

mkdir -p topdir/subdir
etank
fuente
4

Puede usar M-x make-directorydentro de cualquier búfer, no necesariamente un búfer directo. Es una función lisp que también puedes usar.

Jonathan Arkell
fuente
2

Encontré esta pregunta mientras buscaba cómo crear directorios automáticamente en Emacs. La mejor respuesta que encontré fue en otro hilo de unos años más tarde. La respuesta de Victor Deryagin fue exactamente lo que estaba buscando. Agregar ese código a su .emacs hará que Emacs le pida que cree el directorio cuando vaya a guardar el archivo.

Brian Taylor
fuente