Mon projet a ces fichiers:
$ find . -type f -and -name 'peop*'
./app/assets/stylesheets/admin/sections/people.css.sass
./app/controllers/admin/people_controller.rb
Comme j'en avais assez de taper :e app/assets/stylesheets/admin/sections/people.css.sass
, je pensais que ctrlp pourrait être un bon moyen d'économiser de la frappe. Cependant, je n'arrive pas à faire correspondre les fichiers de ce que je considère être une manière saine.
Tout d'abord, j'utilise <C-p>
et tape peop
, et cela me donne ces résultats (la "première" correspondance est en bas):
> app/models/attribute_group.rb
> app/models/contract_template.rb
> app/policies/contract_policy.rb
> app/uploaders/photo_uploader.rb
> app/policies/invoice_policy.rb
> app/views/layouts/pdf.pdf.haml
> app/uploaders/logo_uploader.rb
> app/models/property_object.rb
> app/policies/person_policy.rb
> app/policies/photo_policy.rb
>>> peop_
Ces résultats sont horribles. Aucun des fichiers avec peop
en eux n'est là. Même lorsque je l'étends people
:
> app/policies/contract_template_policy.rb
> app/models/concerns/exportable.rb
> app/models/contract_template.rb
> app/uploaders/photo_uploader.rb
> app/uploaders/logo_uploader.rb
> app/views/admin/people/_show.html.haml
> app/views/admin/people/_form.html.haml
> app/views/admin/people/show.html.haml
> app/views/admin/people/edit.html.haml
> app/views/admin/people/new.html.haml
>>> people_
Il ne répertorie aucun d'eux (!)
J'ai parcouru :help ctrlp-options
et trouvé une seule option qui améliore quelque peu les choses:
Set this to 1 to set searching by filename (as opposed to full path) as the
default:
let g:ctrlp_by_filename = 0
Can be toggled on/off by pressing <c-d> inside the prompt.
Après avoir défini cela, j'obtiens les résultats suivants peop
:
> app/controllers/admin/organisation_people_controller.rb
> app/assets/stylesheets/admin/sections/people.css.sass
> doc/formulieren/opdrachtverlening-woningbeheer.pdf
> doc/formulieren/hulptabellen-object-unit-soort.pdf
> doc/formulieren/brandpreventievoorjongeren.pdf
> app/policies/organisation_person_policy.rb
> doc/prototype-admin/prototype/inspectiemodule_apparaten.html
> app/policies/property_object_policy.rb
> app/policies/person_policy.rb
> app/controllers/admin/people_controller.rb
>d> peop_
D'accord, c'est donc un peu mieux, j'obtiens au moins un des fichiers attendus au premier résultat, et l'autre comme le 9ème. Il considère toujours hulptabellen-object-unit-soort.pdf
être un meilleur match que people.css.sass
si (!)
Taper people
me donne enfin les 2 fichiers attendus comme les 2 premiers:
> app/controllers/admin/organisation_people_controller.rb
> app/assets/stylesheets/admin/sections/people.css.sass
> app/controllers/admin/people_controller.rb
>>> people_
Comment puis-je améliorer cette correspondance? Cela ne me dérange pas de "correspondance floue", mais cela ne devrait pas être si flou qu'il correspond à tout et à tout le monde ... Dans ce cas, je m'attendrais à ce que la frappe <c-P>peop
ait app/assets/stylesheets/admin/sections/people.css.sass
comme première ou deuxième correspondance.
'g:ctrlp_match_func
Un bon exemple de ceci en cours d'utilisation est ce plugin: vim.org/scripts/script.php?script_id=4884