Einrückungen in Pydev

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
Caldar
User
Beiträge: 46
Registriert: Sonntag 17. Mai 2009, 18:20

Gibt es irgendeine Möglichkeit, einen Codeblock zu markieren und aus diesem die Einrückungen zu entfernen?
Bis jetzt mache ich das immer zeilenweise selbst, was etwas unkomfortabel ist.
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

kenne pydev nicht.
aber hast du schonmal shift-tab probiert?

pydev hat aber doch sicher spezielle blockbearbeitungsfunktionalität...
http://www.kinderpornos.info
Caldar
User
Beiträge: 46
Registriert: Sonntag 17. Mai 2009, 18:20

Nein, mit Shift + Tab ist leider nix.

Pydev is ein Python-Plugin für Eclipse. Im Prinzip nicht schlecht.

Welchen Editor verwedest Du? Ich bin durchaus offen für Alternativen diesbezüglich.
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

pydev kann das zu 100% und noch mehr.
blockeinrückungen sind ja elementar für python, was würde also ein python plugin bringen wenn es dich da nicht unterstützt.

ich nutze VIM. das heisst aber nicht unbedingt dass ich dir den empfehlen würde.

kann aber alles mit den richtigen scripts, für python setze ich zb dieses hier ein:
This script can be useful when editing Python scripts. It provides the following menus:
- Select a block of lines with the same indentation
- Select a function
- Select a class
- Go to previous/next class/function
- Go to the beginning/end of a block
- Comment/uncomment the selection
- Jump to the last/next line with the same indent
- Shift a block (left/right)
- Creates list of classes and functions for easy code navigation

http://www.vim.org/scripts/script.php?script_id=30
ich gehe mal davon aus, dass pydev das auch kann.
http://www.kinderpornos.info
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

RTFM :twisted:

http://www.fabioz.com/pydev/manual_adv_features.html
http://www.fabioz.com/pydev/manual_adv_keybindings.html

wenn du dir jetzt mal die ganzen lustigen shortcuts angeschaut hast, dann kann ich dir sagen warum ich vim benutze:
der hat verschiedene modi.

im normalen modus kann ich keinen code eintippen, die keys werden direkt als shortcut interpretiert (diese sind dadurch kürzer)

im insert-modus wird normal eingegeben, aber nur spezielle shortcuts sind erreichbar.
http://www.kinderpornos.info
Benutzeravatar
HWK
User
Beiträge: 1295
Registriert: Mittwoch 7. Juni 2006, 20:44

Caldar hat geschrieben:Ich bin durchaus offen für Alternativen diesbezüglich.
Ich bin sehr zufrieden mit SciTE. Der ist schön handlich und bietet mir alles, was ich brauche. Ich habe auch mal Vim ausprobiert. Die Einarbeitungszeit ist aber deutlich länger und lohnt sich m.E. wohl nur, wenn man wirklich viel programmiert. Dann lässt sich mit ihm aber sicher sehr effizient arbeiten, insbesondere wenn man mit 10 Fingern tippt. Er und Emacs sind für die "Profis" bestimmt die erste Wahl.
MfG
HWK
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

HWK hat geschrieben:Die Einarbeitungszeit ist aber deutlich länger und lohnt sich m.E. wohl nur, wenn man wirklich viel programmiert.
IMHO macht Vim nicht nur zum Programmieren Sinn. Gerade wenn man viel mit Text arbeitet ist Vim sinnvoll; letztens hatte ich eine Datei die ich bearbeiten wollte: kurzes Macro aufgezeichnet, abgespielt, mit dem Visual Mode umformatiert und fertig.

@Dill: Letztendlich sind die geschachtelten Keybindings in Emacs den Modes recht ähnlich. Die erste Keykombination schaltet in einen temporären Modus von dem es mit einer weiteren Kombination zu einem Befehl oder gar zu noch einem anderen Modul geht. Der Unterschied ist eben hauptsächlich, dass du bei Emacs immer nach einem Befehl automatisch in den Insert-Modus kommst.

Vim ist wie eine atombetriebene Kettensäge mit der man Text wie Eisblöcke zu Skulpturen zurechtschneiden kann :)

Natürlich nicht für jeden und ich habe früher, auf Windows auch gerne SciTE verwendet.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Leonidas hat geschrieben:Vim ist wie eine atombetriebene Kettensäge mit der man Text wie Eisblöcke zu Skulpturen zurechtschneiden kann :)
Hmm ein schönes Bild :) Aber da kommt nicht so raus, dass man auch Ahnung von der Kettensäge haben muss. Egal ;) Ich sehe keine einzelne Sekunde, in der ich mich mit Vim auseinander gesetzt hab als vergeudet ein, dazu kommt, dass man auch immer was neues entdecken kann. Leider lässt er sich (scheinbar) nur sehr schlecht in andere Programme einbetten und viele deshalb ein vi-Kastrat einbetten (siehe Kdevelop 4, etc.). Da muss man noch was tun :)
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

cofi hat geschrieben:Leider lässt er sich (scheinbar) nur sehr schlecht in andere Programme einbetten
PIDA bettet ihn ein.

Aber irgendwie ist das schon arg Offtopic - Sorry. :oops:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Hm ja das stimmt müsste man mal in den Code schaun, wobei der in Python geschrieben ist und es da leichter haben könnte wg der Python API - im übrigen noch ein Grund Vim als Python-Programmierer zu benutzen ;)

Aber ja du hast recht wird Off-Topic. Vielleicht will der OP doch lieber einen Link zum [url=http://www.python-forum.de/topic-3544.html]Editoren-Allerlei[/code]
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

hast du pida schonmal ausprobiert?
wenn das wirklich die vorzüge von ide und vim vereint wäre das mal einen blick wert. was ich mir noch wünschen würde wäre ein grafischer debugger und vorallem eine bessere verknüpfung mit dem python interpreter idealerweise ipython. leistet das pida?
und kann ich vim uneigeschränkt nutzen (plugins?)
http://www.kinderpornos.info
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Ich hatte es mal getestet, allerdings fühlt es sich nicht wirklich gut an. Im Prinzip is das eine IDE rund um Vim/Emacs gebaut. Echte Integration des Editors fand ich da nicht. Terminalfester ist möglich -> ipython möglich
An einen grafischen Debugger erinner ich mich jetzt nich.
Aber wie gesagt: Warm wurd ich damit nicht. Am besten selbst ausprobieren.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

cofi hat geschrieben:An einen grafischen Debugger erinner ich mich jetzt nich.
Wenn man auf der Homepage schaut, dann findet man dort ein Plugin für einen Debugger.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

evtl schau ich mir das mal an...

wenn wir grad dabei sind. wie verknüpft ihr denn vim und interpreter?

ich hab das ganz primitiv so...

Code: Alles auswählen

autocmd FileType python map run :w<CR>:!python "%"<CR>
http://www.kinderpornos.info
DasIch
User
Beiträge: 2718
Registriert: Montag 19. Mai 2008, 04:21
Wohnort: Berlin

@Dill Was soll man da groß anders machen? Ich habs jetzt auf F5 gemappt aber sonst.
Benutzeravatar
HerrHagen
User
Beiträge: 430
Registriert: Freitag 6. Juni 2008, 19:07

@Dill: so:

Code: Alles auswählen

autocmd FileType python map <F8> :w<CR>:!python C:\Python25\scripts\ipython "%"<CR>
autocmd FileType python map <F7> :w<CR>:!python C:\Python25\Lib\site-packages\pychecker\checker.py -q "%"<CR>
autocmd FileType python map <F6> :w<CR>:!python -i "%"<CR>
autocmd FileType python map <F5> :w<CR>:!python "%"<CR>
autocmd FileType python map <F2> :!C:\Python25\Doc\python25.chm<CR>

autocmd FileType python imap <F8> <ESC>:w<CR>:!python C:\Python25\scripts\ipython "%"<CR>
autocmd FileType python imap <F7> <ESC>:w<CR>:!python.exe C:\Python25\Lib\site-packages\pychecker\checker.py -q "%"<CR>
autocmd FileType python imap <F6> <ESC>:w<CR>:!python -i "%"<CR>
autocmd FileType python imap <F5> <ESC>:w<CR>:!python "%"<CR>
autocmd FileType python imap <F2> <ESC>:!C:\Python25\Doc\python25.chm<CR>
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

DasIch hat geschrieben:@Dill Was soll man da groß anders machen? Ich habs jetzt auf F5 gemappt aber sonst.
ich fänds zb schön, wenn ich irgendwie direkt zu der zeilennummer mit einem fehler springen könnte. (statt manuellem gg 4711).
http://www.kinderpornos.info
Benutzeravatar
Dill
User
Beiträge: 470
Registriert: Mittwoch 10. Januar 2007, 14:52
Wohnort: Köln

um direkt zu der fehlerzeile zu springen kann man folgendes tun:

.vimrc

Code: Alles auswählen

autocmd BufRead *.py set makeprg=python\ %
autocmd BufRead *.py set errorformat=
	\%A\ \ File\ \"%f\"\\\,\ line\ %l\\\,%m,
	\%C\ \ \ \ %.%#,
	\%+Z%.%#Error\:\ %.%#,
	\%A\ \ File\ \"%f\"\\\,\ line\ %l,
	\%+C\ \ %.%#,
	\%-C%p^,
	\%Z%m,
	\%-G%.%#
in vim:

Code: Alles auswählen

:make "aktuelles file 'compilen'
:cope "quickfix fenster anzeigen 
das quickfix fenster ist hier eher witzlos, da eh immer nur ein fehler zurückgegeben wird. wird aber interessant wenn man das auf pyunit oder lint oä überträgt.

edit:
besser so:

.vimrc

Code: Alles auswählen

autocmd BufRead *.py compiler python
und dieses script in /compiler verzeichnis in vimfiles
http://www.vim.org/scripts/script.php?script_id=477

ich habe dabei in dem script noch wie oben

Code: Alles auswählen

makeprg=python\ %
gesetzt.
http://www.kinderpornos.info
Benutzeravatar
jens
Python-Forum Veteran
Beiträge: 8502
Registriert: Dienstag 10. August 2004, 09:40
Wohnort: duisburg
Kontaktdaten:

Caldar hat geschrieben:Gibt es irgendeine Möglichkeit, einen Codeblock zu markieren und aus diesem die Einrückungen zu entfernen?
Bis jetzt mache ich das immer zeilenweise selbst, was etwas unkomfortabel ist.
Nutzte auch Eclipse+PyDev. Bei mir geht Shift-TAB.

GitHub | Open HUB | Xing | Linked in
Bitcoins to: 1JEgSQepxGjdprNedC9tXQWLpS424AL8cd
Antworten