Puis-je voir dans Emacs les propriétés d'un fichier que j'ai déjà ouvert?
9
J'ai ouvert un fichier dans Emacs. Je voudrais afficher des informations sur ce fichier telles que la date de création, la taille, etc. dans Emacs. Existe-t-il un raccourci clavier ou une commande Emacs pour cela? Merci.
C-x d RETs'ouvrira direddans le répertoire du fichier visité. Il n'affichera pas d'informations spécifiques sur le fichier visité, mais tous les fichiers du répertoire.
JRM
1
Comment faire?: M-x eval-expression RET (dired-other-window buffer-file-name) RET La commande change pour "ls" que dired utilise est personnalisable.
lawlist
Vous pouvez également mettre cela dans une fonction et ajouter une liaison de touches. (defun file-info () (interactive) (dired-other-window buffer-file-name)) (global-set-key (kbd "C-c d") 'file-info)
JRM
1
J'encourage @jrm à publier une réponse similaire au commentaire ci-dessus qui inclut la variable let-bound dired-listing-switchesafin que l'OP puisse afficher tout attribut de fichier pris en charge par la version applicable de "ls".
lawlist
Merci pour tous les commentaires et efforts. Celui suggéré par jrm a fonctionné juste hors de la boîte.
Romario
Réponses:
9
Voici une commande qui utilise direddes indicateurs de fichier détaillés pour la lscommande. Vous souhaiterez peut-être personnaliser ces indicateurs en fonction de votre système d'exploitation.
Merci pour tous les commentaires et réponses. Celui-ci a fonctionné sans aucun problème. Je l'ai copié dans ~ / .emacs et il a commencé à fonctionner.
Romario
11
Il ne semble pas y avoir de commande pour obtenir ces informations de manière interactive, bien que vous puissiez utiliser dired comme le suggère @jrm.
Vous pouvez obtenir ces informations avec le code elisp suivant:
La première ligne vous donne l'UID "lh" et le GID "users".
Les trois lignes suivantes sont les dernières heures d'accès, de modification et de changement d'état, formatées sous forme de listes. Vous pouvez les convertir en chaînes lisibles par l'homme avec current-time-string:
(current-time-string '(206146401950040152000))
Dans ce cas, la valeur de retour est "Tue Oct 23 16:12:03 2012". Avec cela, vous pouvez créer votre propre fonction pour extraire les bits qui vous intéressent. Si vous voulez simplement voir les métadonnées dans le mini-tampon, cela les affichera pour vous:
Merci pour la réponse. Mais je ne sais pas ou je n'ai pas réussi à entrer le premier code: (file-attributes (buffer-file-name)) Je suppose qu'il devrait être entré à l'intérieur du mini-tampon mais comment puis-je passer au mini-tampon? Je sais que Cg doit s'éteindre, mais je ne sais pas comment me connecter.
Romario
Pour exécuter le code elisp dans le mini-tampon, entrez M-:. Vous verrez Eval: dans le mini-tampon, puis vous pourrez taper le code. Pour le defun, (defun file-metadata...vous pouvez essayer par le coller dans le zéro tampon, et point à l' intérieur de la frappe de la fonction M-C-x. Ensuite, vous pouvez appeler la fonction avec M-x file-metadata.
Tyler
Ops, ouais ça a marché. Hé c'est utile. Comme vous l'avez souligné, il répertorie les attributs de fichier sous forme native et avec les fonctions de convertisseur, il est possible d'extraire des informations plus détaillées sur le fichier. Je choisirais cette réponse comme (très) utile. Merci!
C-x d RET
s'ouvriradired
dans le répertoire du fichier visité. Il n'affichera pas d'informations spécifiques sur le fichier visité, mais tous les fichiers du répertoire.M-x eval-expression RET (dired-other-window buffer-file-name) RET
La commande change pour "ls" que dired utilise est personnalisable.(defun file-info () (interactive) (dired-other-window buffer-file-name)) (global-set-key (kbd "C-c d") 'file-info)
dired-listing-switches
afin que l'OP puisse afficher tout attribut de fichier pris en charge par la version applicable de "ls".Réponses:
Voici une commande qui utilise
dired
des indicateurs de fichier détaillés pour lals
commande. Vous souhaiterez peut-être personnaliser ces indicateurs en fonction de votre système d'exploitation.Créez une liaison de touches à votre goût.
la source
Il ne semble pas y avoir de commande pour obtenir ces informations de manière interactive, bien que vous puissiez utiliser dired comme le suggère @jrm.
Vous pouvez obtenir ces informations avec le code elisp suivant:
Cela renverra une liste comme celle-ci:
La première ligne vous donne l'UID "lh" et le GID "users".
Les trois lignes suivantes sont les dernières heures d'accès, de modification et de changement d'état, formatées sous forme de listes. Vous pouvez les convertir en chaînes lisibles par l'homme avec
current-time-string
:Dans ce cas, la valeur de retour est "Tue Oct 23 16:12:03 2012". Avec cela, vous pouvez créer votre propre fonction pour extraire les bits qui vous intéressent. Si vous voulez simplement voir les métadonnées dans le mini-tampon, cela les affichera pour vous:
L'appel interactif produit:
Plus de détails dans le manuel (elisp) File Attributes.
la source
M-:
. Vous verrezEval:
dans le mini-tampon, puis vous pourrez taper le code. Pour le defun,(defun file-metadata...
vous pouvez essayer par le coller dans le zéro tampon, et point à l' intérieur de la frappe de la fonctionM-C-x
. Ensuite, vous pouvez appeler la fonction avecM-x file-metadata
.