Seite 1 von 1
vim
Verfasst: Mittwoch 17. Januar 2007, 09:50
von gorba
Hi
Ich benutze nun vim schon sehr lange, allerdings biser nur um c zu programmieren.
Nun habe ich mich ein wenig in python eingearbeitet, und wollte mir das mal anschauen. Zu meinen Fragen:
- kann im python scripts in vim in einer neuen shell ausführen oder geht das nur im gleichen fenster
- gibt es für python was, dass so sexy ist wie den ex befehl :make? Damit "vim" das ganze kompiliert (den compiler aufruft) der dann (falls welche auftauchen) direkt zum fehler hüpft?
Verfasst: Mittwoch 17. Januar 2007, 10:18
von birkenfeld
Wo willst du in Python kompilieren?
(Gut, du kannst .py zu .pyc kompilieren, aber dabei findest du nur Syntaxfehler.)
Verfasst: Mittwoch 17. Januar 2007, 11:28
von mawe
Hi!
Ich hab gerade in meiner .vimrc folgendes gefunden (Alzheimer lässt grüssen. Kann mich nicht erinnern das mal dort reingeschrieben zu haben. Verwende es natürlich auch nie

Oh Mann ...):
Code: Alles auswählen
" save code, run python, show output in preview windo
function! Python_eval_vsplit() range
let src = tempname()
let dst = tempname()
execute ": " . a:firstline . "," . a:lastline . "w " . src
execute ":silent ! python " . src . " > " . dst . " 2>&1 "
execute ":pclose!"
execute ":redraw!"
execute ":vsplit"
execute "normal \<C-W>l"
execute ":e! " . dst
execute ":set pvw"
execute "normal \<C-W>h"
endfunction
vmap <silent> <F7> :call Python_eval_vsplit()<cr>
nmap <silent> <F7> mzggVG<F7>`z
imap <silent> <F7> <ESC><F7>a
map <silent> <S-F7> <C-W>l:bw<cr>
imap <silent> <S-F7> <ESC><S-F7>a
Ich muss sagen, dass ich beim Programmieren, egal in welcher Sprache, immer mit 2 bzw. 3 Fensterchen arbeite. Eines für vim, eines zum Kompilieren bzw. ausführen, eines für den interaktiven Modus (wenn die Sprache sowas hat).
Gruß, mawe
Verfasst: Mittwoch 17. Januar 2007, 14:32
von Leonidas
Ich beantworte zwar im Moment keine Fragen dazu, aber wenn mir was einfällt, schreib ich auf [wiki]Python-Programmieren mit Vim[/wiki] etwas dazu. Dort ist auf jeden Fall schon mal der [F5]-Befehl, der aber natürlich nicht besonders kompliziert ist. Aber was anderes brauche ich in der Regel nicht.
Verfasst: Mittwoch 17. Januar 2007, 14:54
von rafael
Ich verwende meistens das ein wenig umständlichere
Verfasst: Mittwoch 17. Januar 2007, 15:20
von gorba
nun ja...
ich werde wohl auch auf :pyf file verzeichten und das ganze in ner neuen shell ausführen, da vim so oder so nicht an die entsprechende fehlerstelle springt
evt. warte ich bis mal wer etwas für python in viom implementiert das :make nahekommt =) *faul*
geht ja auch mit 2 shells, nur hasse ichs immer 100 fenster offen zu haben
Verfasst: Mittwoch 17. Januar 2007, 15:58
von mawe
gorba hat geschrieben:evt. warte ich bis mal wer etwas für python in viom implementiert das :make nahekommt
Nur für den Fall dass du dir das Snippet von mir nicht genau angesehen hast:
Wenn du F7 drückst, splittet vim das Fenster auf, ins neue kommt die Ausgabe des Scripts dass gerade im Buffer ist, oder eine Fehlermeldung. Ich finde das ist ein halbwegs brauchbarer make-Ersatz.
Verfasst: Donnerstag 18. Januar 2007, 09:20
von gorba
Jo hab ich mir angeschaut. Denke auch das dies eine gute Notlösung ist!
Warum hast du das ganze nicht auf F12 gemappt? =) die taste wär noch frei
Verfasst: Donnerstag 18. Januar 2007, 14:24
von Leonidas
gorba hat geschrieben:Warum hast du das ganze nicht auf F12 gemappt? =) die taste wär noch frei
Das anzupassen sollte nun wirklich eine Kleinigkeit sein

Verfasst: Sonntag 21. Januar 2007, 11:32
von mitsuhiko
gorba hat geschrieben:Jo hab ich mir angeschaut. Denke auch das dies eine gute Notlösung ist!
Warum hast du das ganze nicht auf F12 gemappt? =) die taste wär noch frei
Nicht bei mir. F12 ist Eject

Verfasst: Sonntag 21. Januar 2007, 14:47
von Joghurt
blackbird hat geschrieben:Nicht bei mir. F12 ist Eject

Programmierst du wirklich so entsetzlichen Code, dass du einen Schleudersitz brauchst?

Verfasst: Sonntag 21. Januar 2007, 15:07
von mitsuhiko
Joghurt hat geschrieben:blackbird hat geschrieben:Nicht bei mir. F12 ist Eject

Programmierst du wirklich so entsetzlichen Code, dass du einen Schleudersitz brauchst?

Zu warty Zeiten konnte man eingelegte CDs nicht auswerfen wenn sie gemounted waren. Deswegen hab ich F12 zu umount und eject gemappt. So nach dem MacOS X Vorbild

Und jetzt bin ichs schon gewohnt und nutz das nach wie vor.
Verfasst: Mittwoch 24. Januar 2007, 14:23
von gorba
haha nice =)
Jo hab mir neulich K darauf gemappt. Also manpage für das Wort unter dem cursor. Allerdings bin ich mir bewusst geworden, dass ich nicht schneller bin mit F12 anstatt von K. Evt. im insert mode aber ansonsten...
=)