Gehen Sie zu Zeilen, die mit dem Befehl [I]: übereinstimmen, um Zeilen mit einem Wort unter dem Cursor anzuzeigen.


0

Beim Drücken [I VIM zeigt eine Liste von Zeilen, die dem Wort unter dem Cursor entsprechen. Zum Beispiel, wenn sich der Cursor auf dem Wort befindet Table und man drückt [I Folgendes wird gezeigt:

  1:   49 class Table(object):
  2:  220         new_table = Table(t, records)
  3:  241         tables.append(Table(row[0], row[1],))
  4:  392         tables.append(Table(t, records))
Press ENTER or type command to continue

Wie kann man leicht eine Option aus der Liste auswählen, d. H. Zu einer der Zeilen springen? Ich habe versucht Tab. Ctrl-N. Ctrl-P. j, die Pfeiltasten und die Eingabe 1. 2, und so weiter. Nichts davon funktioniert. Ich weiß, ich könnte einfach die Zeilennummer eingeben und dann gg Ich möchte gerne wissen, ob VIM einen weiteren Trick im Ärmel hat.

vim 
dotancohen 25 Dez 2013 06:38
quelle

Antworten:


2

Das folgende vim-Mapping sollte das tun, was Sie möchten (Mapping basiert auf meinem Speicherwort für dieses Mapping: fast-search ):

nmap <leader>fs [I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."[\t"<CR>

Der obige Befehl listet zuerst die Zeilen auf, die mit dem Wort unter dem Cursor vom Anfang der Datei übereinstimmen, und fragt Sie dann, zu welcher Übereinstimmung Sie springen möchten, und springt schließlich zu dieser Übereinstimmung.

Wenn Sie Zeilen vor dem Wort unter dem Cursor lieber als den Anfang der Datei auflisten möchten, können Sie Folgendes verwenden:

nmap <leader>fs ]I:let nr = input("Which one: ")<Bar>exe "normal " . nr ."]\t"<CR>

Beachten Sie, dass Die eckigen Klammern werden im späteren Befehl invertiert.

Stoic 25 Dez 2013 06:38
quelle

1

Diese Liste ist nicht interaktiv, Sie sollten folgendes tun, um zum zweiten Spiel zu springen:

:220<CR>
romainl 24 Dez 2013 09:29
quelle

nicht unbedingt. vim magisch hat immer einen Weg zu tun, was Sie wollen.
Stoic 25 Dez 2013 09:49

Was ist "nicht unbedingt"?
romainl 25 Dez 2013 17:10
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.