[Python-de] IDE: Umfrage

Bernd Waterkamp Bernd-Waterkamp at web.de
Sa Jul 5 21:17:37 CEST 2014


Moin, 

Stefan Schwarzer schrieb: 

>  Mercurial- und Subversion

Wir haben noch viel älteres Zeugs in CVS. Die neuen Lösungen verwenden in
der Regel git. Apropos git: Der häufigste hook dürfte das Löschen von
pyc-Files bei einem Branch-Wechsel sein. pylint oder PEP8 sieht man auch
ab und zu. Gibt es noch mehr, das sich bewährt hat? 

> Im Terminal links läuft screen [2], womit ich, ebenfalls per Tastatur,
> zwischen mehreren Shells umschalten kann, wenn ich das möchte.

screen oder tmux setze ich inzwischen vor allem dann ein, wenn ich nicht
sicher sein kann, ob ich die Aufgabe zeitnah abschließen kann, z.B.
debuggen oder testen auf irgendeinem Server. SSH-Verbindung, dort screen
öffnen und jederzeit an der gleichen Stelle wieder einsteigen, inklusive
Logausgaben. Zum Umschalten nutze ich es zwar auch gelegentlich, aber mit
zunehmender LCD-Fläche immer seltener. Terminator[1] erfüllt für mehrere
Shells auf einen Blick den gleichen Zweck wie mehrere Fenster in einem
vim. 

> - Pathogen [3] - Supertab [4] - Bufkill [5] - jpythonfold [6]. An diesem
> Folding-Plugin finde ich gut, dass es anders als manche anderen die
> Anzahl der gefalteten Zeilen ans Ende der Faltungszeile stellt.

Letzteres kannte ich noch nicht - sieht interessant aus. Ich hatte jetzt
vor allem mit jedi[2] gerechnet, weil es in Verbindung mit vim so oft
gepriesen wird. Das geht dann aber natürlich schon in Richtung IDE. Dein
KISS-Ansatz gefällt mir, vor allem, damit man nicht erst 47 Plugins zum 
Leben erwecken muss, bevor man produktiv arbeiten kann. 

> Daneben habe ich einige Mappings:

[..] 

Da waren ein paar interessante Ideen dabei. Wenn ich wieder im Büro bin,
kann ich mal in meiner vimrc stöbern, ob da noch was bei ist was hier
bisher nicht auftauchte. Unter anderem toggle ich paste/nopaste mit einem
Tastendruck, falls man mal schnell was einfügen muss. Folding/Unfolding
von Code und Kommantaren ist ebenfalls äußerst praktisch. BTW: Besonders
krass ist der Effekt immer bei Config-Files. Das schrumpft dann manchmal
von 300 Zeilen auf vielleicht zwei Dutzend zusammen. 

[Vorbereitetes Print-Statement] 

> Wenn ich diese Zeile "ausfülle", sehe ich in der Ausgabe jeweils, _was_
> da ausgegeben wird. :-)

Schöne Idee. Dieses "Old school" Debugging nutze ich auch trotz anderer
Möglichkeiten immer noch häufig. 

> Apropos Buffer: Ich möchte an der Stelle daran erinnern, dass der Befehl
> `:b` (`buffer`) nicht nur die Buffer-Nummern als Argument erlaubt,
> sondern auch Teile von Datei-Pfaden. Wenn ich also `ftputil/host.py` und
> `test/test_host.py` geladen habe, kann ich beispielsweise mit `:b /host`
> zur ersten und mit `:b st_host` zur zweiten Datei gehen. Je nachdem, was
> so alles an Dateien geladen ist, reichen gegebenenfalls auch weniger
> Zeichen.

Schon wieder was dazugelernt. Das geht bei vim echt jahrelang. :-) 

> [vimgrep]

Das mache ich aus Gewohnheit mit [Alt+Tab], grep und ggfs. find in einer
Shell, da ich es für andere Zwecke ständig benötige. 

> Man kann an dieser Beschreibung vielleicht erkennen, dass ich lieber
> praktische "nicht-perfekte" Funktionen habe, die ich schnell aufrufen
> kann als "perfekte" Funktionen, für die ich mich mit einer gegenüber Vim
> umständlich zu bedienenden IDE kämpfen muss.

Ack. Ein Kollege hat mal eclim[3] angetestet, weil er vim schon lange
nutzt, hat dann aber schnell aufgegeben. 

> Mir ist andererseits natürlich klar, dass für jemanden, der mit Vim nicht
> vertraut ist, _Vim_ umständlich zu bedienen ist. ;-)

Ich kenne vim auch nur ein wenig, finde aber das das Erlernen halb so wild
ist, wenn man das Bedienkonzept einmal verstanden hat. Neulich hatte ich
bei einem git commit mit vergessenem "-m" in der Shell eines Kollegen auf
einmal wieder einen nano als Editor. Die ersten Tastendrücke als Reflex
machten natürlich irgendwas, nur nicht das, was ich wollte... Es hat ein
paar Sekunden gedauert, bis ich zum Ziel kam - was bei nano ja dank der
Anzeige unten nun nicht so schwierig ist. :-) 

Anstrengend war der erste Kontakt mit dem ISPF-Editor, selbst wenn man
kein Problem mit Textkonsolen hat. Da fängt das Lernen von vorne an. :-)
Apropos ISPF-Editor: Einige Kollegen aus dem Host-Umfeld vermissen in
einem vim die ziemlich flexiblen Exclude-Optionen dieses Editors. "Zeige
mir nur die Zeilen für folgendes Suchmuster zum Editieren an", "Blende
diesen Absatz aus", "Blende die nächsten X Zeilen aus", usw. Das kann man
in vim wohl alles mehr oder weniger nachbauen, aber das funktioniert dort
out-of-the-box schon wirklich gut. 

Danke für die vielen Hinweise an dich und auch an Markus! 

Grüße, 
Bernd

[1] https://launchpad.net/terminator 
[2] https://github.com/davidhalter/jedi 
[3] http://eclim.org/


Mehr Informationen über die Mailingliste python-de