¿Puedo ver dentro de Emacs las propiedades de un archivo que ya abrí?
9
He abierto un archivo en Emacs. Me gustaría ver información sobre ese archivo, como la fecha de creación, el tamaño, etc. dentro de Emacs. ¿Hay un atajo de teclado o algún comando de Emacs para eso? Gracias.
C-x d RETse abrirá direden el directorio del archivo visitado. No mostrará información específica sobre el archivo visitado, sino todos los archivos en el directorio.
jrm
1
¿Qué tal ?: M-x eval-expression RET (dired-other-window buffer-file-name) RET El comando cambia para "ls" que utiliza directamente es personalizable.
ley
También podría poner eso en una función y agregar una combinación de teclas. (defun file-info () (interactive) (dired-other-window buffer-file-name)) (global-set-key (kbd "C-c d") 'file-info)
jrm
1
Animaría a @jrm a publicar una respuesta similar al comentario anterior que incluye la variable let-bound dired-listing-switchespara que el OP pueda mostrar cualquier atributo de archivo que admita la versión aplicable de "ls".
ley
Gracias por todos los comentarios y esfuerzos. El sugerido por jrm funcionó de inmediato.
Romario
Respuestas:
9
Aquí hay un comando que se utiliza diredcon marcas de archivo detalladas para el lscomando. Es posible que desee personalizar esos indicadores según su sistema operativo.
La primera línea le proporciona los UID "lh" y GID "usuarios".
Las siguientes tres líneas son los últimos tiempos de acceso, modificación y cambio de estado, formateados como listas. Puede convertirlos en cadenas legibles por humanos con current-time-string:
(current-time-string '(206146401950040152000))
En este caso, el valor de retorno es "Mar 23 de octubre 16:12:03 2012". Con eso, puede crear su propia función para extraer los bits que le interesen. Si solo desea ver los metadatos en el minibúfer, esto lo mostrará por usted:
Gracias por la respuesta. Pero no sé o no pude ingresar el primer código: (atributos de archivo (nombre de archivo del búfer)) Supongo que debería ingresarse dentro del minibúfer, pero ¿cómo cambio al minibúfer? Sé que Cg se apaga, pero no sé cómo hacerlo.
Romario
Para ejecutar el código elisp en el minibúfer, ingrese M-:. Verá Eval: en el minibúfer, y luego puede escribir el código. Para defun, (defun file-metadata...puede probarlo pegándolo en el búfer de memoria virtual y con el punto dentro de la función de escritura M-C-x. Entonces puede llamar a la función con M-x file-metadata.
Tyler
Ops, sí, eso funcionó. Hola, eso es útil. Como señaló, enumera los atributos del archivo en forma nativa y con las funciones del convertidor es posible extraer información más detallada sobre el archivo. Seleccionaría esta respuesta como (muy) útil. ¡Gracias!
C-x d RET
se abrirádired
en el directorio del archivo visitado. No mostrará información específica sobre el archivo visitado, sino todos los archivos en el directorio.M-x eval-expression RET (dired-other-window buffer-file-name) RET
El comando cambia para "ls" que utiliza directamente es personalizable.(defun file-info () (interactive) (dired-other-window buffer-file-name)) (global-set-key (kbd "C-c d") 'file-info)
dired-listing-switches
para que el OP pueda mostrar cualquier atributo de archivo que admita la versión aplicable de "ls".Respuestas:
Aquí hay un comando que se utiliza
dired
con marcas de archivo detalladas para ells
comando. Es posible que desee personalizar esos indicadores según su sistema operativo.Crea una combinación de teclas a tu gusto.
fuente
No parece haber un comando para obtener esta información de forma interactiva, aunque puede usar dired como sugiere @jrm.
Puede obtener esta información con el siguiente código elisp:
Esto devolverá una lista como esta:
La primera línea le proporciona los UID "lh" y GID "usuarios".
Las siguientes tres líneas son los últimos tiempos de acceso, modificación y cambio de estado, formateados como listas. Puede convertirlos en cadenas legibles por humanos con
current-time-string
:En este caso, el valor de retorno es "Mar 23 de octubre 16:12:03 2012". Con eso, puede crear su propia función para extraer los bits que le interesen. Si solo desea ver los metadatos en el minibúfer, esto lo mostrará por usted:
Llamar a esto interactivamente produce:
Más detalles en el manual (elisp) Atributos del archivo.
fuente
M-:
. VeráEval:
en el minibúfer, y luego puede escribir el código. Para defun,(defun file-metadata...
puede probarlo pegándolo en el búfer de memoria virtual y con el punto dentro de la función de escrituraM-C-x
. Entonces puede llamar a la función conM-x file-metadata
.