L'utilisation de CtrlP ne donne pas de très bons résultats - est-ce que je l'utilise mal?

18

J'espérais que je pourrais simplement taper "job.php" et être dirigé vers le job.phpdans mon /lib/model/dossier, mais j'ai surtout juste récupéré de nombreux autres fichiers:

[No name]

> batch/dataFixes/jobProspectsSubscriptionId.php
> batch/dataFixes/jobProspectsRankDistance.php
> batch/dataFixes/hiredJobDistanceRankFeedback.php
> batch/sendWeeklyJobOwnersUpdateEmail.php
> batch/dataFixes/backdateJobClosureDailyStats.php
> batch/dataFixes/jobExpectedRevenue.php
> batch/dataFixes/updateJobStats.php
> batch/updateEndedJobState.php
> batch/findUnresponsiveJobPosters.php
> batch/_job_criteria.php

 prt  file  <mru>={ files }=<buf> <->      /Users/shane/Documents/sites/zinc 
>d> job.php_

Passer en mode «trouver dans le chemin» et taper lib/model/job.phpfait apparaître des tonnes d'autres classes dans ce dossier qui ont «job» dans le nom de fichier, mais pas job.php.

Job est un mot assez courant dans notre projet, mais j'espérais qu'une correspondance exacte pour le nom de fichier serait classée assez bien dans les résultats.

Est-ce que j'utilise mal CtrlP, ou le projet ne lui convient-il pas vraiment?

Shane
la source
Peut-être le cache? Essayez de taper F5 dans la fenêtre CtrlP.
mattn

Réponses:

21

Le moyen le plus simple est de basculer entre le mode nom de fichier uniquement et le mode regex, à partir de la documentation:

Une fois dans l'invite:

Ctrl+ D:
Basculez entre la recherche de chemin complet et la recherche de nom de fichier uniquement.
Remarque : en mode nom de fichier, la base de l'invite est >d>au lieu de>>>

Ctrl+ R:
Basculez entre le mode chaîne et le mode regexp complet.
Remarque : en mode regexp complet, la base de l'invite est r>>au lieu de>>>

ninovsnino
la source
2
Pour définir la recherche par nom de fichier comme mode de recherche par défaut, ajoutez ceci à votre vimrc:let g:ctrlp_by_filename = 1
jonS90
5

Ajoutez ce qui suit à votre ~ / .vimrc (vous devrez peut-être créer s'il n'existe pas):

let g:ctrlp_regexp = 1
Rey
la source
2

J'utilise en fait l'extension de correspondance CtrlP C ctrlp-cmatcher

C'est un peu plus rapide, et les résultats sont ce à quoi on peut s'attendre (sans avoir à utiliser l'expression régulière).

user94773
la source