Forum: PC Hard- und Software Vim: Python-Einrückung entfernen


von Dennis S. (eltio)


Lesenswert?

Hallo zusammen,

ich programmiere ein wenig in Python und kam jetzt in die Situation nach 
dem Entfernen einer Schleife die Einrückung zu entfernen. Also vorher:
1
def func():
2
    anweisung1
3
    anweisung2
4
    anweisung3

und nachher:
1
anweisung1
2
anweisung2
3
anweisung3

Die vier Leerzeichen bekomme ich durch die Vim-Anweisung "4x" weg, aber 
trotzdem muss ich jedesmal die Zeile wechseln. Wie kann ich Zeilen und 
Spaltenoperationen mischen? Sprich gibt es eine Tastenolge die sagt
"Entferne aus den nächsten drei Zeilen die vier führenden Zeichen!"?

Gruß
Dennis

von ./. (Gast)


Lesenswert?

Druck Dir die Kurzanleitung vom vi und haeng Sie Dir neben den 
Bildschirm.

von Dennis S. (eltio)


Lesenswert?

./. schrieb:
> Druck Dir die Kurzanleitung vom vi und haeng Sie Dir neben den
> Bildschirm.

Nö, die habe ich hier als PDF vorliegen. Und nu?

von Thomas (Gast)


Lesenswert?

http://vim.wikia.com/wiki/Shifting_blocks_visually

Von deinem ersten Block zum zweiten kommt man mit dd3<< (mit dem Cursor 
in der Zeile mit def func())

von Dennis S. (eltio)


Lesenswert?

Thomas schrieb:
> http://vim.wikia.com/wiki/Shifting_blocks_visually
>
> Von deinem ersten Block zum zweiten kommt man mit dd3<< (mit dem Cursor
> in der Zeile mit def func())

Ahhh... der "Shift-Operator" war mir neu! Vielen Dank, Thomas!

von Thomas (Gast)


Lesenswert?

Nachtrag: Von Haus aus macht Python Tabs und geht dabei von 8 Spalten 
aus, meistens will man stattdessen in der .vimrc 'set softtabstop=4 
shiftwidth=4 expandtab' haben. http://tedlogan.com/techblog3.html

von Dennis S. (eltio)


Lesenswert?

Thomas schrieb:
> Nachtrag: Von Haus aus macht Python Tabs und geht dabei von 8
> Spalten
> aus, meistens will man stattdessen in der .vimrc 'set softtabstop=4
> shiftwidth=4 expandtab' haben. http://tedlogan.com/techblog3.html

Du scheinst dich mit der Thematik gut auszukennen! Ich habe hier 
allerdings eine kleine Sonderlocke: ich nutze Notepad++ mit einem 
VIM-Plugin. So kann ich - wenn ich mal wieder eine VIM-Anweisung nicht 
kenne und wenig Zeit habe - schnell switchen und "konventionell" 
arbeiten. Außerdem bin ich hier an Windows gebunden und finde die 
Portierung von vim irgendwie "hakelig" (subjektiv!). Trotzdem vielen 
Dank für die Zusatzinfo.

Gruß Dennis

von Thomas (Gast)


Lesenswert?

Thomas schrieb:
> Nachtrag: Von Haus aus macht Python Tabs
Hier sollte statt 'Python' natürlich 'vim' stehen.

> Du scheinst dich mit der Thematik gut auszukennen!
Die Einrückerei ist zufällig im winzigen Anteil der vim-Funktionen, den 
ich kann ;).

von AVerr (Gast)


Lesenswert?

Wenn man übrigens die Anzahl der Zeilen nicht kennt ( und zu faul zum 
rechnen ist :D ), kann man mit "v" in den visual Modus wechseln, die 
betreffenden Zeilen markieren und mit "<" und ">" soviel rumschieben wie 
man will.

von ./. (Gast)


Lesenswert?

Frueher guckte man selber und belaestigte nicht den Rest der Welt
mit solchem Kleinsche!ss.

von Dennis S. (eltio)


Lesenswert?

./. schrieb:
> Frueher guckte man selber und belaestigte nicht den Rest der Welt
> mit solchem Kleinsche!ss.

Unter der Prämisse, dass du nicht den ganzen Tag Däumchen drehst, war es 
doch für dich offensichtlich auch von Interesse. Warum wärst du sonst 
hier gelandet? In dem Sinne möchte ich dich gerne dazu ermuntern dich 
weiterzuentwickeln und auch selber Fragen zu stellen.

Gruß Dennis

von ./. (Gast)


Lesenswert?

Das war nur zu meiner eigenen Belustigung.
Ich benutz den vi aber auch schon 27 Jahre.

von Florian H. (heeen)


Lesenswert?

Man kann auch mit ctrl-v in den visual block mode gehen, den Bereich 
markieren den man löschen möchte und dann löschen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.