2012-12-18 12 views

Odpowiedz

11

0y $$ - skopiować linię bez przerwy linii i przesunąć kursor z powrotem do końca

+2

lub, bardziej ogólnie, '' '0y $]' 'będzie przesunąć kursor z powrotem do miejsca, gdzie to było. –

+0

Założę się, że to jedyne rozwiązanie z najmniejszym naciśnięciem klawisza? – cherhan

4

dzięki czemu jest wybór wizualną a następnie szarpiąc który zawiera znak pod kursorem:

v0y 
+0

nie, nie ma, wciąż brakuje ostatniego znaku – cherhan

+0

Może również wymagać 'set sel = inclusive'? –

+0

@cherhan, to robi dokładnie to, co chcesz domyślnie. O ile nie zmienisz jawnie wartości opcji 'selection' na coś innego niż wartość domyślna, co wydaje się głupie. – romainl

3

Jeśli wszystko znaki są rzeczywiście razem i są zgodne z "zdaniem vim", możesz użyć wizualnego zaznaczenia obiektu sentence. sentence w tym przypadku będzie pasować abcdefg nawet jeśli to nie zaczyna się na początku linii i nie będzie zawierać wiersz kończący:

visy 

Jeśli chcesz dołączyć końcowe spacje należy użyć a zamiast i (symbol dla „wewnątrz”):

vasy 

jedyny problem z tym podejściem (które może być to, czego nie chce) jest to, że nie będzie to wiodącym spacje. Więc jeśli masz coś takiego:

abcdefg 

Wybór nie obejmie wiodącą klocek spacji, tylko abcdefg.

1
0yg_ 

to kolejna opcja.

Ale wizualny tryb jest lepszy:

v0y 
v^y 
2

Okazuje się, ciągnąc do końca linii jest rzeczą, którą robi się znaleźć dość często. Jako takie, następujące mapowanie jest dość popularne.

Jest tak popularny, jest nawet wymieniony pod numerem :h Y!

Jeśli używasz tego odwzorowania, odpowiedź na to pytanie byłaby 0Y

Powiązane problemy