Gibt es eine Möglichkeit , dass t{char}
und auch f{char}
weiterhin in den nächsten Zeilen arbeiten , wenn {char}
nicht in einer bestimmten Zeile ist?
Ich möchte vermeiden , mit /{char}<CR>
speichern 1 Tastendruck und haben nicht suchen hervorgehoben, vor allem , wenn ich dies mit Verben in Kombination benötigen (zB dfa
, ct.
).
cursor-motions
cbaumhardt
quelle
quelle
d/a
zum nächstena
undc/.
zum nächsten löschen.
. Wenn Siehlsearch
es bei dieser Operation verwenden und nicht möchten, können Sie ein Mapping erstellen, das Ihred/
Operation ausführt und dann die Hervorhebung deaktiviert (endet mit:nohlsearch
).g:clever_f_across_no_line
0 und anderen Optionen, die nach Belieben aktiviert / deaktiviert werden).Antworten:
Ich habe auch einige Zeit Dahu / Vim-Fanfingtastic benutzt und fand es sehr hilfreich. Es unterstützt semantische Wiederholungen
.
dank der Bibliothek tpope / repeat.vim, die Sie ebenfalls installieren müssen.Eine Alternative ist chrisbra / enhancedft, die mehr oder weniger dasselbe macht.
rhysd / clever-f.vim hat eine Option, die Mehrzeilensuche zu aktivieren, obwohl ihre Hauptfunktion darin besteht
f
, die aktuelle Suche wie;
bereits beschrieben zu wiederholen .Diese alle behandeln
;
und,
Schlüssel wie erwartet.Der Nachteil mit mehreren Leitungen
f
undt
ist , dass , wenn Sie die falsche Taste drücken, werden Sie aus der aktuellen Zeile entnommen werden irgendwo unerwartet in der Datei. Ctrl-Okann in diesen Momenten helfen. (Dies kann mit einerc
Änderung gefährlich sein , wenn Sie nicht feststellen, dass Sie nur ein paar Zeilen verschluckt haben, aber das waren nur Kinderkrankheiten für mich.)Es gibt andere verwandte Plugins mit leicht unterschiedlichen Ansätzen, wie justinmk / vim- sneak und goldfeld / vim-seek, die zur Eingabe von zwei Zeichen auffordern , wodurch es einfacher (aber immer noch nicht garantiert) ist, Ihren Zielort zu erreichen.
Und dann gibt es noch easymotion / vim-easymotion . Dies bietet viele leistungsstarke Bewegungstasten , von denen einige einen zusätzlichen Tastendruck oder zwei erfordern, um den Zielcharakter zu bestätigen, wenn es viele Kandidaten gibt.
Aber derzeit verwende ich eine Lösung aus eigenem Anbau. Ich habe mit dem Autor von EasyMotion zusammengearbeitet, um Markierungen für alle übereinstimmenden Zeichen vor Ihnen zu erstellen
f
und zut
blinken .Dies wirkt als natürlicher Zählassistent für Vanille-Vim-Bewegungen. Wenn Sie versuchen, sich mit irgendwohin zu bewegen,
fx
aber feststellen, dass mehrx
s im Weg sind, als Sie gedacht haben, können Sie die Zahl lesen, die über dem gewünschten Zeichen aufleuchtete, und dann[count];
dort springen.Die Filiale finden Sie hier . Lesen Sie unbedingt den Abschnitt Hilfreiche Hinweise zum Einrichten der Tastenzuordnungen hinzufügen.
Bei
c
Änderungsvorgängen ist es jedoch immer noch vorzuziehen , sie beim ersten Mal richtig auszuführen . In diesen Fällen empfehle ich, einen zusätzlichen Tastendruck imv
visuellen Modus oder einen der garantierten Sprünge von EasyMotion zu verwenden.quelle
Es gibt ein Plugin, das genau das tut, was Sie zu wollen scheinen, wie von VanLaser angegeben.
https://github.com/dahu/vim-fanfingtastic
Das Repeat-Plugin muss nun ordnungsgemäß funktionieren, daher benötigen Sie das auch:
https://github.com/tpope/vim-repeat
quelle