2008-09-26 12 views
5

W edytorze Vim wybrałem ]I dla funkcji (w kodzie C++). Spowoduje to wyświetlenie listy, która mówi: "Naciśnij klawisz ENTER lub wpisz polecenie, aby kontynuować".Jak przejść do wystąpienia z listy wyszukiwania Vima

Teraz, aby przejść do wystąpienia powiedzmy 6, ja wpisuję 6 - ale to nie działa.

Jakie polecenia mogę wpisać w takim przypadku i jak mogę przejść do N-tego wystąpienia z tej listy?

Aktualizacja:

Właściwie próbowałem :N (np: 6) - ale kiedy wpisuję : Vim przejdzie w tryb Insert i jelita grubego zostanie wstawiony w kodzie zamiast.

Aktualizacja

Zakładając :N podejście jest poprawne, wciąż pełna odinstalować i zainstalować Vima, bez jakiejkolwiek konfiguracji, też nie pomogło - choć teraz wpisując : nie włącza Vima do trybu wstawiania.

Odpowiedz

2

Należy przedstawić Państwu listę:

1: 345 my_func (int var) 
2: 4523 my_func (int var) 
3: 10032 my_func (3); 

Druga kolumna to numery linii. Typ: 345, aby przejść do linii 345.

+0

John Właściwie próbowałem [: N] (http://stackoverflow.com/questions/137935/how-to-jump-to-an-occurrence-from-vim-search-list#137942) (np .: 6) - ale w momencie, kiedy piszę: Vim wchodzi w tryb Insert, a dwukropek zostaje wstawiony do kodu zamiast. – vikramsjn

+0

Wygląda na to, że masz bardzo nietypową konfigurację. W jaki sposób wprowadzasz komendy takie jak: w czy dwukropek wchodzi w tryb wstawiania? –

+0

: w nie przechodzi do trybu wstawiania. I wszystko inne wydaje się działać dobrze. Właściwie to pamiętam, używając: N jakiś czas temu, ale dzisiaj nagle wydaje się, że przestało działać. Chociaż nie sądzę, że zmieniłem plik VF cfg na rok. – vikramsjn

0

Kiedy używać vim, i skoczyć do znacznika, wykonując na przykład:

:tag getfirst 

zostanę przedstawiony z czymś, co wygląda jak:

# pri kind tag    file 
    1 F m getfirst   /home/sthorne/work/.../FormData.py 
       class:FakeFieldStorage 
       def getfirst(self, k, default): 
    .... 
    8 F m getfirst   /home/sthorne/work/.../CGIForm.py 
       class:CGIForm 
       def getfirst(self, name): 
Choice number (<Enter> cancels): 

Wpisz "5", aby przejść do piątego wystąpienia.

Jeśli nie można uzyskać vim mieć to zachowanie (to wydaje się być domyślnie dla mojego vim), można użyć g] zamiast ctrl-], która jest analogiczna do : TZaznacz zamiast : tag

1

do: h TZaznacz na vim, aby zobaczyć pełna definicja

Jeśli już zobaczyć tag, który chcesz użytku, można wpisać „q” i wprowadź numer.

-2

Spróbuj użyć 123G, aby przejść do linii 123 (patrz :h G).

1

Jeśli naciśniesz przycisk skoku i uzyskasz listę możliwych celów, wybierz numer i ponownie naciśnij skok.

Więc podane

1: 345 my_func (int var) 
2: 4523 my_func (int var) 
3: 10032 my_func (3); 

Jeśli trafisz '2] |', to należy przejść bezpośrednio do tej linii.

1

Miałem ten sam problem i zaabsorbowana poszukiwaniem wcześniejsze odpowiedzi i eksperymentowanie wymyśliłem tego rozwiązania:

[I // gives list of matches for word under cursor, potentially some matches are in headers. remember the number of the match you're interested in, eg. the 3rd 
q // quits the list of matches 
3[Ctrl-i // (with cursor in same position) jumps to third match 
Powiązane problemy