2013-12-18 5 views
7

Lassen Sie uns sagen, wir sind zur Zeit in dieser Codezeile bewegen:Wie Cursor auf bestimmte Wort in der aktuellen Zeile in Vim

readonly L|a|zy<ICountryRepository> countryRepo; 

und der Cursor in der Position des Buchstaben „a“, wie in der Code zwischen zwei "|" Symbole.

Jetzt möchte ich meinen Cursor auf den Buchstaben y des Wortes countryRepo bewegen, wie kann ich das mit den minimalen Tastenanschlägen tun?

(Zur Zeit bin ich die Tastenfolge von fyfyfyfy im normalen Modus ... Art dumm verwenden)

+2

hast du '$ Fy' probiert? www.vim.org/script.php?script_id=152 ist ein nettes Plugin, das dir Markierungen in deinem vim Code zeigt. – Alex

+1

Das ';' ist der Standardrepetitions-Bewegungsbefehl in Vim, vorausgesetzt, Sie haben '; –

+3

Es gibt wahrscheinlich 10+ Möglichkeiten, dies zu tun und jede Situation ist einzigartig. Manchmal dauert es länger als nur die "dumme" Art zu versuchen, an den schnellsten Weg zu denken, um etwas zu tun (oder die geringste Anzahl an Tastenanschlägen). Es kommt darauf an, die verschiedenen Möglichkeiten, dies zu tun, und Ihre persönlichen Vorlieben zu üben. –

Antwort

11

Wenn Sie wissen, dass es das vierte y ist, können Sie

4fy 

Wenn Sie das tun wissen, dass es die letzte y in der Linie ist, können Sie

$Fy 

tun, wenn Sie an dem nicht wissen Position ist es, Sie noch tun können

fy;;; 
+0

können Sie auch 'fy4;' –

+0

Das heißt, während eine richtige Antwort, ein Problem in der Notwendigkeit einer besseren Lösung. Es muss einfach einen besseren Weg geben, dies in Vim zu tun, da es unpraktisch ist, Buchstaben in der aktuellen Zeile zu zählen, sowohl weil man falsch zählen kann als auch, wenn geschulte Leser * Buchstaben * nicht lesen, sondern ganze * Wörter *. – gustafbstrom

4

In diesem Fall würde ich

W 

verwenden, um countryRepo, gefolgt von

fy 
4

ich mir vorstellen kann zu bewegen:

4fy 

Aber Sie sollten mach das nur, wenn du ein seltsamer Robo bist t.

/co<cr>fy 

Welche ein Zeichen kürzer als Ihre Lösung ist, aber leichter ..

Wfy 

Go ein Wort weiter vorne und dann y finden.

f>fy 

So etwas würde ich tun. Hängt davon ab, welche Popups in meinen Gedanken sind.

Sie sollten in das easymotion Plugin schauen, das mit willkürlichen Bewegungen hilft.

EDIT:

Easymotion ist eher hier wertlos, es sinnvoller ist es, Ziele weiter weg zu springen.

3

Wenn Sie vim-easymotion haben, https://github.com/Lokaltog/vim-easymotion

Sie können <leader><leader>t tun und dann für den Buchstaben y suchen. Es ist nicht so schnell für die Buchstaben auf der gleichen Linie. Der wirkliche Vorteil ist, wenn Sie in die gesamte Datei springen.

2

würde ich

tR; 

oder

WtR 

oder vielleicht

Wfy 
1

Verwenden EasyMotion tun.

In Ihrem Fall, <Leader><Leader>e dann einen entsprechenden Tastendruck (in diesem Fall b) bringen Sie Ihren Cursor auf die zweite y. Persönlich verwende ich <Leader> als easymotion Auslöser, so dass es nur 3 Tastenanschläge für mich gibt. Der Hauptvorteil ist, dass Sie nicht erraten oder berechnen müssen.

Verwandte Themen