Warum zeigt mir: tselect die falsche Liste?

5

Ich habe diesen Code in vim geöffnet:

$this->mockEvolve(...);

Wenn ich a Ctrl + ] mit meinem Mauszeiger über die mes bringt mich zu seiner Definition.

Wenn ich jedoch renne :ts wenn mein cursor über dem ist m, vim zeigt mir diese Liste von Tags:

  # pri kind tag               file
> 1 F   f    mockGet           <filename>
               public function mockGet(...)

Ich stoße häufig auf dieses Problem (nicht nur mit dieser Funktion). Irgendwelche Ideen, was passiert?

des4maisons
quelle

Antworten:

5

Das :help :tselect gibt dir die antwort:

Wenn [ident] nicht angegeben wird, wird der letzte Tag-Name aus der   Tag-Stack wird verwendet.

Es wird das letzte Tag verwendet, zu dem gesprungen wurde, nicht das Wort unter dem Cursor. Verwenden Sie zum Einfügen in die Befehlszeile Ctrl-R Ctrl-W.

Ingo Karkat
quelle
2
Wow, ich habe gerade 3 Monate mit: ts verbracht, als ob alle Tags unter meinem Cursor aufgelistet wären. Ein Fall von RTFM. Vielen Dank!
des4maisons
1
Wenn Sie dieses Verhalten mögen, können Sie Ihren eigenen Befehl dafür definieren: command! Tselect execute 'tselect' expand('<cword>')
Ingo Karkat
Ich könnte das einfach tun!
des4maisons
1
Probiere auch g] und g^]; sie arbeiten wie ^] (automatisch mit dem Schlüsselwort unter / nach dem Cursor), aber mit :tselect und :tjump (bzw.) statt :tag; :tjump ist wie :tselect, überspringt jedoch die Eingabeaufforderung, wenn nur ein passendes Element vorhanden ist.
Chris Johnsen