J'essaie de me faire utiliser le mode Ido. Parfois c'est agréable, mais d'autres fois c'est extrêmement stupide. Voici ma plus grande déception.
J'ai lu un journal avec des noms de fichiers complets, puis je copie un nom, essayez d'ouvrir ce fichier.
La façon de le faire sans Ido: C-aC-yC-kRET
Avec Ido, il y a deux problèmes majeurs:
Si j'ai le nom complet du fichier, il n'y a aucun moyen de saisir cela (je dois supprimer la première barre oblique, sinon même appuyer sur //n'aidera pas.
Je ne peux pas modifier les parties intermédiaires du nom de fichier en laissant le reste non modifié.
Ou puis-je?
find-file
avecC-x C-f
et coller normalement. Mais alors, c'est plus de touches. Ou vous pouvez utiliser Helm si vous voulez une fonctionnalité richefind-file
et toujours satisfaire votre cas d'utilisation.C-x C-f
solution de rechange utile tant de fois!Réponses:
Lorsqu'une
ido
commande est active (ido-find-file
dans ce cas), vous pouvez revenir à la version non ido de la même commande (find-file
dans ce cas) à l'aide de la liaison ido-defaultC-x C-f
pourido-fallback-command
.Pour répondre à votre question,
C-x C-f
appelleraido-find-file
.C-x C-f
retombera surfind-file
.C-a C-y C-k
RETcomme vous le faites habituellement pour extraire un chemin de fichier copié dans le mini-tampon.Remarque: dans
ido
,C-x C-f C-x C-f
fera la même chose queC-x C-f C-f
, c'est-à-dire se replier surfind-file
.About
C-f
inido
Inido-mode
,C-f
est lié àido-magic-forward-char
. Deido.el
,la source
C-f
pour y revenirfind-file
, nonC-x C-f
. Je ne vois pas que je l'ai personnalisé (et moi, comme d'autres ici, je compte beaucoup sur le repli.ido
C'est presque autant de problèmes que cela en vaut la peine, après l'avoir utilisé pendant un certain temps maintenant).C-x C-f C-f
fonctionne également.Étant donné que vous avez affaire à des noms de chemin complets, d'autres méthodes peuvent fonctionner:
M-x ffap
(find-file-at-point
): il lira automatiquement le nom du chemin et ouvrira le fichierM-x compilation-shell-minor-mode
qui va changer la police des chemins et les rendre "cliquables" (avec la bouche ouRET
). En cliquant dessus, vous accédez à ce fichier et à la ligne spécifique, et vous pouvez utilisernext-error
etprevious-error
naviguer. Je l'utilise souvent, comme en mode shell .la source
Puisqu'il y a toujours plus d'une façon de le faire, voici une variante de l'idée de @ abo-abo qui maintient l'achèvement de l'ido actif plutôt que de revenir à la commande find normale.
Avec cette reliure:
Si le kill actuel est un chemin de répertoire valide, vous pouvez commencer
ido-find-file
,C-y
appuyer sur pour accéder au répertoire yanked, puis continuer à utiliser l'achèvement ido pour choisir un fichier.Si le kill en cours est un chemin de fichier valide, vous pouvez commencer
ido-find-file
,C-y
appuyer sur pour accéder au répertoire yanked et proposer le nom du fichier yanked comme achèvement, puis sur RET pour ouvrir ce fichier.Si le kill actuel est autre chose, il est tiré normalement.
la source
let
lier les différentesido-...
variables plutôtsetq
qu'eux? À l'heure actuelle, il semble que vous définissiez des valeurs de façon permanente plutôt que de le faire pour la durée de vie de la fonction.ido-next-work-directory
. Je pense que les variables sont définies de sorte qu'elles survivent à l'appel de sortie-mini-tampon et au rafraîchissement suivant. Mais je ne comprends toujours pas complètement les ido internes!Peut-être comme ça:
Si le kill actuel est un fichier qui existe, faire C-y C-y devrait probablement vous donner ce que vous voulez.
la source