Używanie CtrlP nie daje bardzo dobrych rezultatów - czy używam go źle?

18

Miałem nadzieję, że mogę po prostu wpisać „job.php” i zostać przekierowanym do job.phpmojego /lib/model/folderu, ale w większości otrzymałem wiele innych plików:

[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_

Przejście do trybu „znajdź w ścieżce” i pisanie lib/model/job.phppowoduje wyświetlenie ton innych klas w tym folderze, które mają „zadanie” w nazwie pliku, ale nie job.php.

Job jest dość powszechnym słowem w naszym projekcie, ale miałem nadzieję, że dokładne dopasowanie nazwy pliku uplasuje się dość wysoko w wynikach.

Czy źle używam CtrlP, czy też projekt tak naprawdę do niego nie pasuje?

Shane
źródło
Może cache? Spróbuj wpisać F5 w oknie CtrlP.
Mattn 10.01.2013

Odpowiedzi:

21

Najłatwiejszym sposobem jest przełączenie się do trybu tylko nazwy pliku i trybu wyrażenia regularnego z dokumentów:

Po wyświetleniu monitu:

Ctrl+ D:
Przełączanie między wyszukiwaniem pełnej ścieżki a wyszukiwaniem tylko nazwy pliku.
Uwaga : w trybie nazw plików podstawą pytania jest >d>zamiast>>>

Ctrl+ R:
Przełączanie między trybem ciągów znaków a trybem pełnego wyrażenia regularnego.
Uwaga : w trybie pełnego wyrażenia regularnego podstawą pytania jest r>>zamiast>>>

ninovsnino
źródło
2
Aby ustawić wyszukiwanie plików jako domyślny tryb wyszukiwania, dodaj to do swojego vimrc:let g:ctrlp_by_filename = 1
jonS90
5

Dodaj następujące elementy do ~ / .vimrc (może być konieczne utworzenie, jeśli nie istnieje):

let g:ctrlp_regexp = 1
Rey
źródło
2

Właściwie używam pasującego rozszerzenia CtrlP C. ctrlp-cmatcher

Jest to nieco szybsze, a wyniki są takie, jakich można się spodziewać (bez konieczności używania wyrażenia regularnego).

użytkownik94773
źródło