dired – Archivos abiertos de forma recursiva que coinciden con expresiones regulares en directorios marcados

Pregunta:

En términos generales, me gustaría poder abrir todos los archivos dentro de un conjunto dado de directorios (y sus subdirectorios) donde el nombre del archivo coincide con una expresión regular determinada.

Por ejemplo

  /home/nispio/project:
  total used in directory 1612 available 1000000000
  drwxrwxr-x 13 nispio group    4096 Sep 19 14:06 .
  drwxrwxr-x  7 nispio group    4096 Sep 22 16:41 ..
  drwxrwxr-x  2 nispio group    4096 Sep 19 12:46 cfg
  drwxrwxr-x  2 nispio group    4096 Sep 19 12:46 hlp
* drwxrwxr-x  2 nispio group    4096 Sep 23 16:52 hst
* drwxrwxr-x  2 nispio group    4096 Sep 29 14:52 inc
* drwxrwxr-x  2 nispio group    4096 Oct  1 12:53 lib
  drwxrwxr-x  2 nispio group    4096 Sep 19 12:46 mcr
  drwxrwxr-x  2 nispio group    4096 Sep 24 10:50 pyl
  drwxrwxr-x  2 nispio group    4096 Sep 19 12:46 snr
  drwxrwxr-x  2 nispio group    4096 Sep 19 12:46 unix

He marcado los directorios hst , inc y lib , y ahora quiero visitar todos los archivos con extensiones .c , .cc y .h dentro de esos tres directorios y sus subdirectorios.

Sería incluso mejor si pudiera ver todo lo que estoy abriendo antes de abrirlo. Si el búfer de dired se actualizó para mostrarme todos los archivos que coincidían con mi búsqueda, y todos estaban resaltados, podría hacer una verificación de cordura para asegurarme de que mi búsqueda devolviera lo que esperaba.

Estoy abierto a sugerencias para hacer lo mismo usando helm o dired+ o cualquier otra extensión que me permita navegar por mi sistema de archivos más fácilmente.

Respuesta:

Prueba esto:

C-u C-x d

Esto le permite ingresar argumentos sobre cómo Dired debería listar los archivos. De forma predeterminada, dice -al en el indicador. Agregue R a eso, terminando con -alR . Escriba RET .

Seleccione / escriba un directorio y luego presione RET .

Esto abrirá de forma recursiva todos los directorios desde el que seleccione y a continuación.

Desde aquí, escriba % m para marcar todos los archivos que coincidan con un determinado patrón de nombre de archivo. También suelo escribir t y luego k para eliminar (ocultar) todos los archivos que no me interesan. Escriba t nuevamente para marcar todos los archivos.

En cuanto a abrir los archivos, no creo que haya una forma estándar de hacerlo, pero puede definir fácilmente un nuevo comando para hacerlo (colóquelo en su archivo .emacs ):

(defun dired-find-marked-files ()
 (interactive)
 (dolist (f (dired-get-marked-files)) 
  (find-file f)))

Lo más probable es que alguien ya haya incluido esto en algún paquete de mejoras de Dired, pero también es divertido hacerlo tú mismo;)

¡Disfrutar!

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım