buscar - comandos emacs terminal
No mostrar archivos sin interés en la ventana de finalización de Emacs (4)
No sé de una respuesta para completar, me temo. Creo que esto es por diseño: cuando conoce el nombre que está buscando, es probable que no desee, por ejemplo, el archivo de copia de seguridad. Pero cuando no lo sepas, probablemente sea mejor tener una lista de todos los archivos.
Sin embargo, para dired, puede cargar el paquete ''dired-x'' en el inicio (en su .emacs), y esto proporciona dired-omit-mode:
(load "dired-x")
Puede usar ''Mx personalizar-variable <RET> dired-omit-files'' para configurar los patrones reales a ignorar. Luego, cuando está en modo dired, puede usar MO (la letra, no el número) para activar y desactivar la "omisión".
¿Cómo evito que Emacs me muestre todos los archivos que no me interesan (como ~ archivos de copia de seguridad, archivos .pyc o archivos .orig) cuando I: Cx Cf TAB ?
Funciona en un aspecto: si sé que el archivo que quiero abrir comienza con foo y escribo foo TAB , el mini-buffer se autocompleta correctamente hasta foo.py. Se ignoraron correctamente foo ~ y foo.pyc, porque tanto ~ como .pyc están en completion-ignored-extensions . También me permite abrir correctamente cualquier archivo ignorado si realmente quiero, escribiendo todas las letras yo mismo.
Sin embargo, si simplemente presiono TAB para abrir el búfer de la lista de finalización, esa lista incluye archivos con extensiones en las que se ignoran , lo que dificulta mucho encontrar lo que estoy buscando.
Claramente, el código para ignorar archivos no interesantes está ahí y funcionando. ¿Cómo obtengo el búfer de la lista de finalización para respetar las extensiones ignoradas de la finalización ?
(by-the-by, ¿puedo hacer que dired se comporte de manera similar?)
Recomendaría usar ido-mode para ignorar los archivos; viene con Emacs por defecto y agrega muchas otras mejoras útiles que aprenderás rápidamente a amar. La ido-mode trata sobre cómo ignorar archivos, directorios y buffers:
-
ido-ignore-buffers
Toma una lista de buffers para ignorar en Cx b -
ido-ignore-directories
Toma una lista de directorios para ignorar en Cx d y Cx Cf -
ido-ignore-files
Toma una lista de archivos para ignorar en Cx Cf
Icicles hace lo que esperas por defecto. Siempre respeta completion-ignored-extensions
para completar el nombre de archivo, incluso para el búfer *Completions*
. Y puede activar / desactivar esta omisión en cualquier momento, presionando C-. en el minibuffer.
Además, si usa la biblioteca completion-ignored-build.el
por Kevin Ryde, entonces Icicles aprovecha automáticamente el ajuste dinámico de esa biblioteca de las extensiones de archivo ignoradas. (Solo cargue completion-ignored-build.el
- no habilite su modo o consejo secundario).
Este consejo filtra los archivos con las extensiones enumeradas en ''completion-ignored-extensions
:
(defadvice completion--file-name-table (after
ignoring-backups-f-n-completion
activate)
"Filter out results when they match `completion-ignored-extensions''."
(let ((res ad-return-value))
(if (and (listp res)
(stringp (car res))
(cdr res)) ; length > 1, don''t ignore sole match
(setq ad-return-value
(completion-pcm--filename-try-filter res)))))
Nota: Esto no afecta dired
.
Para el problema dired
, agregue esto a su .emacs
(eval-after-load "dired"
''(require ''dired-x))
(add-hook ''dired-mode-hook
(lambda ()
(dired-omit-mode 1)))
Lea la documentación de dired-x para tener una idea de lo que está disponible allí.