vim

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
gorba
User
Beiträge: 100
Registriert: Freitag 28. Juli 2006, 14:58

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?
Sinn und Unsinn meiner Worte kommt nie von ungefähr. Das nämlich bin ich, nicht mehr.
Benutzeravatar
birkenfeld
Python-Forum Veteran
Beiträge: 1603
Registriert: Montag 20. März 2006, 15:29
Wohnort: Die aufstrebende Universitätsstadt bei München

Wo willst du in Python kompilieren?

(Gut, du kannst .py zu .pyc kompilieren, aber dabei findest du nur Syntaxfehler.)
Dann lieber noch Vim 7 als Windows 7.

http://pythonic.pocoo.org/
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
rafael
User
Beiträge: 189
Registriert: Mittwoch 26. Juli 2006, 16:13

Ich verwende meistens das ein wenig umständlichere

Code: Alles auswählen

:! python /pfad/zum/skript.py
gorba
User
Beiträge: 100
Registriert: Freitag 28. Juli 2006, 14:58

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
Sinn und Unsinn meiner Worte kommt nie von ungefähr. Das nämlich bin ich, nicht mehr.
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

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.
gorba
User
Beiträge: 100
Registriert: Freitag 28. Juli 2006, 14:58

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
Sinn und Unsinn meiner Worte kommt nie von ungefähr. Das nämlich bin ich, nicht mehr.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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 :roll:
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

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 ;)
TUFKAB – the user formerly known as blackbird
Joghurt
User
Beiträge: 877
Registriert: Dienstag 15. Februar 2005, 15:07

blackbird hat geschrieben:Nicht bei mir. F12 ist Eject ;)
Programmierst du wirklich so entsetzlichen Code, dass du einen Schleudersitz brauchst? :-P
mitsuhiko
User
Beiträge: 1790
Registriert: Donnerstag 28. Oktober 2004, 16:33
Wohnort: Graz, Steiermark - Österreich
Kontaktdaten:

Joghurt hat geschrieben:
blackbird hat geschrieben:Nicht bei mir. F12 ist Eject ;)
Programmierst du wirklich so entsetzlichen Code, dass du einen Schleudersitz brauchst? :-P
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.
TUFKAB – the user formerly known as blackbird
gorba
User
Beiträge: 100
Registriert: Freitag 28. Juli 2006, 14:58

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...

=)
Sinn und Unsinn meiner Worte kommt nie von ungefähr. Das nämlich bin ich, nicht mehr.
Antworten