En regardant les options de personnalisation pour ido-mode
( M-x customize-group
RET ido
RET), je ne vois aucune option pour activer le comportement de cyclisme que vous décrivez.
Vous pouvez cependant ajouter ce qui suit à votre fichier init:
(require 'recentf)
(defun ido-recentf-open ()
"Use `ido-completing-read' to find a recent file."
(interactive)
(if (find-file (ido-completing-read "Find recent file: " recentf-list))
(message "Opening file...")
(message "Aborting")))
(global-set-key (kbd "C-x C-r") 'ido-recentf-open)
Avec cela en place, vous pouvez appuyer sur C-x C-rpour obtenir l'achèvement de l'idéo pour sélectionner les fichiers récemment ouverts.
Par défaut, les 20 fichiers les plus récents seront conservés dans l'historique. Je vous suggère de le monter à quelque chose comme 150 en définissant recentf-max-saved-items
:
(setq recentf-max-saved-items 150)
Bonus: accès aux fichiers récents, édition sous stéroïdes
Je ne vois pas mentionné dans beaucoup d'endroits, mais Ido Virtual buffers fais super facile d'accéder aux fichiers récents. Activez-les comme ceci:
(setq ido-use-virtual-buffers t)
Le comportement que vous obtenez est le suivant:
Si non nil
, reportez-vous aux tampons passés ("virtuels") ainsi qu'aux tampons existants.
Essentiellement, cela fonctionne comme suit: Supposons que vous visitez un fichier et que le tampon est nettoyé par midnight.el
. Plus tard, vous souhaitez basculer vers ce tampon, mais constatez qu'il n'est plus ouvert. Lorsque les tampons virtuels sont activés, le nom du tampon reste dans la liste des tampons (en utilisant le ido-virtual
visage, et toujours à la fin), et si vous le sélectionnez, il ouvre à nouveau le fichier. Cela vous permet de penser moins si les fichiers récemment ouverts sont toujours ouverts ou non. La plupart du temps, vous pouvez quitter Emacs, redémarrer, puis basculer vers un tampon de fichiers précédemment ouvert comme s'il l'était encore.
C-x C-r
il n'est pas possible d'ouvrir un nouveau fichier. Je suis également surpris qu'il ne soit pas possible de le personnaliser de manière simple. L'histoire deC-x C-f
est une caractéristique tellement évidente que je ne comprends pas pourquoi elle n'est pas encore implémentéeido
. Par exemple,M-x up/down
parcourt les commandes récentes,M-% up/down
parcourt les requêtes de remplacement récentes, même en dehors d'emacs - tous les shells comme bash ou zsh utilisent up / down pour rappeler les commandes précédentes. Pour moi,C-x C-f up/down
devrait parcourir les fichiers récemment ouverts. Arrêt complet.ido-use-virtual-buffers
- une excellente fonctionnalité qui devrait vraiment être activée par défaut OMI.Bien que les liaisons aient évolué au fil du temps, à partir d'aujourd'hui, lorsque vous appelez
ido-find-file
ouido-find-file-read-only
, vous pouvez utiliser les liaisons suivantes disponibles dans la configuration par défaut:ido-prev-work-file
ido-next-work-file
En plus de ceux-ci qui ne sont pas aussi agréables sur le plan ergonomique que les M-pet les M-nfixations auxquelles j'étais habitué avant d'essayer ido , ils sont également lents, et le bavardage du mini-tampon qui en résulte est distrayant et déroutant. ido fait plus que simplement afficher un nom de fichier récemment ouvert; il signale que c'est "Recherche de ' nom de fichier ' ...", peut-être par réticence à proposer un nom pour un fichier qui n'existe plus.
Le message "Recherche" provient de la fonction
ido-make-merged-file-list
. En lisant la source , je ne vois aucun moyen de désactiver la magie de cette fonction.Vous pouvez envisager de relier la paire
ido-prev-work-file
etido-next-work-file
à quelque chose de plus naturel comme C-M-pet C-M-n, ou d'échanger les liaisons actuelles M-p(ido-prev-work-directory
) et M-n(ido-next-work-directory
) pour celles-ci.Voici le code Emacs Lisp à restaurer M-pet M-nà parcourir les fichiers récents, en déplaçant les liaisons axées sur le répertoire par défaut vers C-M-pet C-M-nrespectivement:
la source
ce à quoi j'ai eu recours dans ce cas revient au comportement normal du mini-tampon en tapant Cf dans idomode. Ensuite, vous aurez des touches de navigation d'historique normales. Si vous le savez à l'avance, cela peut être rapide: Cxff :-)
la source
La réponse donnée par @itsjeyd est assez complète. Permettez-moi simplement de suggérer une fonction:
Avec l'aimable autorisation de WikEmacs
la source
J'ai trouvé que cela
helm-for-files
fonctionnait mieux que toutes les réponses ci-dessus dans le but de compléter automatiquement le nom de fichier et d'avoir une belle interface de recherche. En outre, vous pouvez le configurer pour inclure tous les éléments de recherche que vous aimez.la source