55 votes

goto-file dans Emacs

Existe-t-il un substitut dans emacs à la commande vi "gf"? signifie essayer d'ouvrir le fichier qui se trouve sous le curseur maintenant si un vrai nom de fichier y est en fait.

Merci

78voto

cjm Points 44090

Vous souhaitez utiliser la fonction find-file-at-point (qui est également associée à ffap ). Il n'est pas lié à une clé par défaut, mais vous pouvez utiliser

 M-x ffap
 

Ou, vous pouvez mettre dans votre fichier .emacs :

 (ffap-bindings)
 

Cela remplacera beaucoup de la normale find-file des raccourcis clavier (comme C-x C-f ) avec ffap versions à base. Voir le commentaire en ffap.el pour plus de détails.

8voto

Nir Points 536

Merci, ça fonctionne très bien, mais en quelque sorte la vi (gf) version encore un peu plus intelligent. Je pense qu'il ressemble à certains variable de chemin d'accès pour les chemins de recherche.

J'ai fait quelque chose qui est inutilement compliqué, mais fonctionne pour moi (seulement sous linux). Il utilise la fonction "localiser" commande pour rechercher le chemin d'accès sous le curseur. Je suppose que cela pourrait être fait de plus intelligent en cherchant sur le chemin relatif vers le fichier courant de la première. désolé pour mon mauvais elisp compétences...Il peut probablement être réalisée dans un cadre beaucoup plus agréable.

mettre dans votre .emacs, puis les utiliser avec M-x goto-fichier

(defun shell-command-to-string (command)
  "Execute shell command COMMAND and return its output as a string."
  (with-output-to-string
    (with-current-buffer standard-output
      (call-process shell-file-name nil t nil shell-command-switch command))))

(defun goto-file ()
  "open file under cursor"
  (interactive)
  (find-file (shell-command-to-string (concat "locate " (current-word) "|head -c -1" )) ))

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X