[Vim] Code einrücken

ascer

Captain
Registriert
Juni 2008
Beiträge
3.703
Huhu Leute,


eine Zeile Code in Vim ein- oder auszurücken ist natürlich schnell getan, allerdings stehe ich gerade auf dem Schlauch
(und finde auch nichts gescheites im web) wie man mehrere Zeilen mehrfach einrücken kann.

Man kann ja z.B. in den visual mode wechseln, dann 3-4 Zeilen markieren und diese einrücken. Sobald ich das aber
getan habe, kommt in vim direkt der unfocus auf meine selection. Die markierten Zeilen sind also prompt nach dem
einrücken nicht mehr markiert, will ich nun aber nicht nur einen Tab, sondern eben mehrere Einrückungen, muss
ich ständig erst wieder in den visual mode wechseln und das ganze Spiel erneut machen...recht aufwändig...

Da gibt es doch bestimmt eine intelligentere Lösung für?!


Viele Grüße

ascer
 
Meine Idee wäre: Ersetze global alle Zeilenanfänge durch x Leerzeichen, also sowas wie
Code:
:%s/^/    /g
 
Im Normal Mode
4>> 4 Zeilen einrücken.
>i{ Einrücken im Block '{'
Cursor auf eine { dann >% Einrücken bis zur schilessenden }


/edit... hab dich wohl falsch verstanden...

in der .vimrc ein
Code:
vnoremap > >gv
bzw
Code:
vnoremap < <gv
verhindert das du im visual mode nach dem markieren den modus wechselst und die markierung verlierst.

Oder: halt im Visual Mode nach dem markieren 5> drücken, wenn du schon weisst wieviele Stufen du einrücken willst.

Oder: So einrücken wie du's gemacht hast und dann mit . das Kommando sooft wiederholen wie gewünscht.
 
Zuletzt bearbeitet:
mit . (der punkt-taste) wiederholst du die letzte aktion.
 
Vielen Dank! :)
 
Wie hast du es denn nun gemacht?
 
Auf meiner Workstation finde ich die Idee von thecain ganz gut, den visual mode nicht zu verlassen per Eintrag in die .vimrc,
ansonsten ist der Punkt "." ganz gut :)

Trotzdem vielen Dank für alle Antworten :)
 
Zurück
Oben