Mi proyecto tiene estos archivos:
$ find . -type f -and -name 'peop*'
./app/assets/stylesheets/admin/sections/people.css.sass
./app/controllers/admin/people_controller.rb
Cuando me cansé de escribir :e app/assets/stylesheets/admin/sections/people.css.sass, pensé que ctrlp podría ser una buena manera de guardar algo de escritura. Sin embargo, no puedo hacer que coincida con los archivos en lo que considero una forma sensata.
Primero, uso <C-p>y escribo peop, y eso me da estos resultados (la "primera" coincidencia está en la parte inferior):
> 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_
Estos resultados son horribles. Tampoco hay archivos con peopellos. Incluso cuando lo expando a 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_
No enumera ninguno de ellos (!)
Revisé :help ctrlp-optionsy encontré una única opción que mejora un poco las cosas:
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.
Después de configurar esto, obtengo los siguientes resultados en 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_
Bien, así que esto es un poco mejor, obtengo al menos uno de los archivos esperados en el primer resultado, y el otro como el noveno. Todavía considera hulptabellen-object-unit-soort.pdfque es una mejor combinación que people.css.sassaunque (!)
Escribir peoplefinalmente me da los 2 archivos esperados como los primeros 2:
> app/controllers/admin/organisation_people_controller.rb
> app/assets/stylesheets/admin/sections/people.css.sass
> app/controllers/admin/people_controller.rb
>>> people_
¿Cómo puedo mejorar este emparejamiento? No me importa "coincidencia aproximada", pero no debería ser tan difusa que coincide con todo y todos ... En este caso, yo esperaría a escribir <c-P>peoppara tener app/assets/stylesheets/admin/sections/people.css.sassya sea la primera o segunda partido.
'g:ctrlp_match_funcUn buen ejemplo de esto en uso es este complemento: vim.org/scripts/script.php?script_id=4884