Un moyen plus rapide dans Find-file avec barre?

9

Dans emacs avec barre, je peux C-x C-ftrouver un fichier. Après avoir tapé une partie du nom du dossier, helm trouve le bon dossier. À ce stade, je peux

  1. appuyez sur Enterpour entrer en mode fatigué. et C-spour rechercher un dossier de second niveau ...
  2. ou appuyez sur tabpour terminer le nom du dossier et continuez à taper une partie du deuxième nom de foler.

Existe-t-il un moyen de trouver un fichier plus rapidement comme dans l'éditeur de texte sublime? (recherche floue à la fois les noms de fichier et les noms de dossier).

pseudo
la source

Réponses:

10

Vous pouvez utiliser Helm Projectile pour parcourir facilement les fichiers des projets. Il y a quelques démos en haut de mon guide . Vous pouvez même traiter n'importe quel répertoire comme un projet et aller n'importe où en créant un .projectilefichier vide dans ce répertoire, si votre projet n'est pas directement pris en charge par Projectile. Projectile permet non seulement de sauter vers des fichiers / répertoires de n'importe où à tout moment, mais vous pouvez également accéder à n'importe quel fichier au curseur, dans n'importe quel fichier sans simplement le nom de fichier.

Pour sauter à trouver, utilisez helm-projectile-find-file, lié à C-c p fpar défaut.

Pour passer au répertoire, utilisez helm-projectile-dir, lié à C-c p dpar défaut.

Pour basculer entre les projets reconnus, utilisez helm-projectile-projects, lié à Cc p p.

Le projectile peut éventuellement être utilisé dans un répertoire avec un grand nombre de fichiers (c'est-à-dire votre répertoire personnel avec quelque chose comme des fichiers 80k-100k) en activant la mise en cache:

(setq projectile-enable-caching t)

En fonction de votre disque dur, le premier démarrage helm-projectile-find-filepeut prendre un certain temps pour récupérer la liste des fichiers et bloquer Emacs. Mais cela ne se produit qu'une seule fois . Un accès ultérieur vous permet d'obtenir instantanément la liste des fichiers jusqu'à ce que vous invalidiez le cache.

Notez que vous pouvez faire une correspondance floue sans entrer d'espace entre les termes de recherche. La différence est que, si vous ajoutez un espace, Helm revient à son ancien comportement de correspondance: correspondance exacte avec l'expression régulière. Sans espace, Helm utilise la correspondance floue similaire à celle que vous voyez dans Sublime Text.

Tu Do
la source
Hou la la! Cela change vraiment la vie! Merci beaucoup!
Nick
@ Nick j'ai mis à jour la réponse.
Tu Do
Merci pour votre rappel. Je pense que l'ajout cashingde votre réponse ferait apprécier plus de gens projectile. (J'ai ajouté un .projectilefichier à mon répertoire personnel, ce qui ralentit tout. J'ai lu votre guide et ajouté (setq projectile-enable-caching t)à ma configuration, tout est magiquement rapide! Je pense que d'autres auraient tendance à le faire aussi.)
Nick