2008-09-26 7 views
5

In Vim-Editor habe ich ]I auf eine Funktion (in C++ - Code). Dies zeigte eine Liste, die 'Drücken Sie die EINGABETASTE oder Befehl, um fortzufahren'.So springen Sie zu einem Vorkommnis von Vim Suchliste

Jetzt zu einem Vorkommen sagen sagen 6, ich tippe 6 - aber das funktioniert nicht.

Welche Befehle kann ich in solch einem Fall eingeben, und wie spreche ich von dieser Liste zu Nth-Vorkommen?

Update:

Eigentlich habe ich versucht, :N (zB: 6) - aber der Moment, als ich : Vim betritt Insert-Modus ein, und der Doppelpunkt wird in dem Code stattdessen eingefügt.

aktualisieren

Unter der Annahme, :N Ansatz richtig ist, noch vollständig deinstallieren und installieren von Vim, ohne Konfiguration, war nicht helfen - obwohl jetzt : eingeben Vim schaltet nicht Modus einzulegen.

Antwort

2

Es sollten Sie eine Liste präsentieren wie:

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

Die zweite Spalte ist die Zeilennummern. Typ: 345 zu springen 345.

+0

John Eigentlich habe ich versucht [: N] (http://stackoverflow.com/questions/137935/how-to-jump-to-an-occurrence-from-vim-search-list#137942) (zB: 6) - Aber in dem Moment, in dem ich tippe: Vim tritt in den Einfügemodus ein und der Doppelpunkt wird in den Code eingefügt stattdessen. – vikramsjn

+0

Hört sich an, als hätten Sie eine sehr ungewöhnliche Konfiguration. Wie geben Sie Befehle wie folgt ein: w Wenn der Doppelpunkt in den Einfügemodus wechselt? –

+0

: w tritt nicht in den Einfügemodus ein. Und alles andere scheint gut zu funktionieren. Eigentlich erinnere ich mich an: N vor einiger Zeit, aber heute scheint es plötzlich nicht mehr zu funktionieren. Obwohl ich glaube nicht, dass ich meine Vim cfg-Datei seit einem Jahr geändert habe. – vikramsjn

0

Linie Wenn ich vim verwenden, und ich springe zu einem Tag, indem zum Beispiel tun:

:tag getfirst 

ich mit etwas präsentiert bekommen, die wie folgt aussieht:

# 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): 

Ich tippe '5', um zum fünften Vorkommen zu gehen.

Wenn Sie nicht Ihre vim bekommen kann dieses Verhalten zu haben (es scheint, die standardmäßig für meine vim auf sein), können Sie g] statt ctrl-] verwenden können, die analog ist: tWählen statt : tag

1

Do: h tWählen auf vim zu sehen, die vollständige Definition

Wenn Sie bereits den Tag, das Sie verwenden möchten sehen, können Sie ‚q‘ eingeben und geben Sie die Nummer.

-2

Versuchen Sie, 123G zu Zeile 123 (siehe :h G) zu gehen.

1

Wenn Sie eine Sprungtaste drücken und eine Liste möglicher Ziele erhalten, wählen Sie die Nummer und drücken Sie erneut auf den Sprung.

So

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

Wenn Sie Hit '2] |', sollte es direkt auf diese Zeile springen.

1

Ich hatte das gleiche Problem, und Schuster die bisherigen Antworten zusammen und experimentiere ich mit dieser Lösung kam:

[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 
Verwandte Themen