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 peop
ellos. 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-options
y 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.pdf
que es una mejor combinación que people.css.sass
aunque (!)
Escribir people
finalmente 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>peop
para tener app/assets/stylesheets/admin/sections/people.css.sass
ya sea la primera o segunda partido.
'g:ctrlp_match_func
Un buen ejemplo de esto en uso es este complemento: vim.org/scripts/script.php?script_id=4884