Vim's Python Integration

Probleme bei der Installation?
Antworten
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Hallo!
Nachdem ich mir jetzt mal vim (6.1, "frisch" aus Woody) zugelegt habe und es etwas konfiguriert habe:

Code: Alles auswählen

set nocompatible

set showmatch

set cindent
set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4

set fo=croq

syntax on
filetype on
filetype indent on
filetype plugin on
Jetzt die Fragen:
1. Wie kann ich das Keypad/Numpad dazu bringen, wenn ich "1" tippe auch wirklich 1 zu schreiben?
2. Wie kann ich die Farben des Syntax Highlightings ändern?
3. Warum erkennt das Highlighting keine Zahlen?

Edit: Zu 3. habe ich python.vim in mein ~/.vim/syntax kopiert, nun erkennt das Highlighting doch Zahlen. Wunderbar! Fragen 1 und 2 bleiben aber immer noch ungeklärt :(
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gerold
Python-Forum Veteran
Beiträge: 5555
Registriert: Samstag 28. Februar 2004, 22:04
Wohnort: Oberhofen im Inntal (Tirol)
Kontaktdaten:

Leonidas hat geschrieben: 2. Wie kann ich die Farben des Syntax Highlightings ändern?
Hi Leonidas!

Dookie hat da mal eine Datei erstellt:
http://python.sandtner.org/viewtopic.ph ... scolor+vim

lg
Gerold
:-)
http://halvar.at | Kleiner Bascom AVR Kurs
Wissen hat eine wunderbare Eigenschaft: Es verdoppelt sich, wenn man es teilt.
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ich denke ich stelle mich etwas doof an... ich habe folgende Datei:

Code: Alles auswählen

set background=dark
hi clear
if exists("syntax_on")
  syntax reset
endif

let colors_name = "mine"

hi Normal ctermfg=Black ctermbg=None

" Groups used in the 'highlight' and 'guicursor' options default value.
hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White
hi IncSearch term=reverse cterm=reverse
hi ModeMsg term=bold cterm=bold
hi StatusLine term=reverse,bold cterm=reverse,bold
hi StatusLineNC term=reverse cterm=reverse
hi VertSplit term=reverse cterm=reverse
hi Visual term=reverse cterm=reverse
hi VisualNOS term=underline,bold cterm=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red
hi Directory term=bold ctermfg=DarkBlue
hi LineNr term=underline ctermfg=Brown
hi MoreMsg term=bold ctermfg=DarkGreen
hi NonText term=bold ctermfg=Blue
hi Question term=standout ctermfg=DarkGreen
hi Search term=reverse ctermbg=Yellow ctermfg=NONE
hi SpecialKey term=bold ctermfg=DarkBlue
hi Title term=bold ctermfg=DarkMagenta
hi WarningMsg term=standout ctermfg=DarkRed
hi WildMenu term=standout ctermbg=Yellow ctermfg=Black
hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue
hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue
hi DiffAdd term=bold ctermbg=LightBlue
hi DiffChange term=bold ctermbg=LightMagenta
hi DiffDelete term=bold ctermfg=Blue

" Colors for syntax highlighting
hi Constant term=underline ctermfg=DarkRed
hi Special term=bold ctermfg=DarkMagenta
hi Statement term=bold cterm=bold ctermfg=Blue
hi Ignore ctermfg=LightGrey

" My Own Settings
hi Comment term=none cterm=none ctermfg=DarkMagenta
hi String ctermfg=DarkGreen
hi Identifier ctermfg=Blue
hi Function cterm=None ctermfg=DarkBlue

hi PreProc term=bold cterm=bold ctermfg=DarkRed
Die habe ich in ~/.vim/colors/ drinnen. Die Sache ist nur die, das ich einstellen kann was ich will, sie wird nicht übernommen (die Comments bleiben Blau statt Magenta). Ich vermute ich brauche noch irgendwas wie source ~/.vim/colors/dookiescolors.vim in meiner .vimrc.. kann mir da jemand einen Tipp geben?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
fs111
User
Beiträge: 170
Registriert: Samstag 15. November 2003, 11:42
Kontaktdaten:

:colo mine und lies auch einfach mal :help colo

fs111
Pydoc-Integration in vim - Feedback willkommen: http://www.vim.org/scripts/script.php?script_id=910
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

Ach, wunderbar :)
Gibt es auch irgendwo eine Liste mit Farben, die der Consolen-vim versteht?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
fs111
User
Beiträge: 170
Registriert: Samstag 15. November 2003, 11:42
Kontaktdaten:

Der Konsolen-Vim kann alle Farben darstellen, die Dein Terminal darstellen kann, er wird also nur vom Terminal beschränkt. gvim kann jede beliebige Farbe darstellen, zumindest alle die man mit hex-angeben kann.

Lies dazu auch mal :help highlight

fs111

P.S.: und guck dir mal meine Sig an :-)
Pydoc-Integration in vim - Feedback willkommen: http://www.vim.org/scripts/script.php?script_id=910
Benutzeravatar
TheGrudge
User
Beiträge: 96
Registriert: Donnerstag 4. Mai 2006, 18:39

Ich versuche mich gerade an PEP 008 zu halten und wollte meinen VIM (7.0.107) so konfigurieren, dass er 4 Zeichen einrückt... im Moment macht er nämlich Tabs (die 8 Leerzeichen entsprechen).
Kann man das umstellen?
Habe mal
set tabstop=4
probiert, aber das scheint gar nichts zu ändern. Hat da jemand eine Idee?
Benutzeravatar
TheGrudge
User
Beiträge: 96
Registriert: Donnerstag 4. Mai 2006, 18:39

Da scheint es ja was fertig zu geben, sorry das ich gefragt habe...
http://www.vim.org/scripts/script.php?script_id=974
Benutzeravatar
TheGrudge
User
Beiträge: 96
Registriert: Donnerstag 4. Mai 2006, 18:39

OK jetzt muss ich doch nochmal fragen:
Wie kann ich denn bei vim das Verhalten ändern, das er TABS benutzt?
Ich möchte doch einfach nur 4 Zeichen einrücken... bekomme es aber irgendwie nicht gebacken...

Im Moment schaue ich mir noch SPE an, aber irgendwie wäre mir vim lieber...
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

TheGrudge hat geschrieben:Wie kann ich denn bei vim das Verhalten ändern, das er TABS benutzt?
Ich möchte doch einfach nur 4 Zeichen einrücken... bekomme es aber irgendwie nicht gebacken...
Wieso Tabs? In Python wird in PEP 8 von Tabs abgeraten und keiner nutzt Tabs. Ich habe meinen Vim auf Softtabs (= 4 Spaces die sich wie ein Tab anfühlen aber PEP 8-konform Spaces sind) eingestellt und es funktioniert sehr gut.

Bei interesse kann ich als Gegenprojekt zu Rebeccas "Python Programmieren mit Emacs" und Jens "SciTE Integration" ein "Python Programmieren mit vim" machen :)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
N317V
User
Beiträge: 504
Registriert: Freitag 8. April 2005, 13:23
Wohnort: München

Leonidas hat geschrieben:Bei interesse kann ich als Gegenprojekt zu Rebeccas "Python Programmieren mit Emacs" und Jens "SciTE Integration" ein "Python Programmieren mit vim" machen :)
Oh ja, bitte! Das wär nett! :)
Es gibt für alles eine rationale Erklärung.
Außerdem gibt es eine irrationale.

Wie man Fragen richtig stellt
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

N317V hat geschrieben:Oh ja, bitte! Das wär nett! :)
Okay, ich habe mal unter [wiki]Python-Programmieren mit Vim[/wiki] angefangen. Natürlich, momentan ist es etwas leer, aber das hole ich noch nach. Dass es so toll wird, wie Rebeccas Dokumentation, ist aber eher nicht zu erwarten.

Naja, aber es kann ja jeder daran mithelfen.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
TheGrudge
User
Beiträge: 96
Registriert: Donnerstag 4. Mai 2006, 18:39

ja wie ich hab doch geschrieben: das er das Verhalten ablegen soll, TABS zu nutzen... ich will ja gar keine Tabs haben! Werde mal deinen Vorschlag anschauen...

Wo wir gerade beim PEP 8 sind:
Ich versuche meine Programme gerade daran anzupassen, aber ich scheitere noch bei den Variablennamen, das wird mir nicht so ganz klar.

Globale Variablen: bla_blub_bla
sonstige: blaBlubBla ???
oder auch bla_blub_bla ??
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

TheGrudge hat geschrieben:ja wie ich hab doch geschrieben: das er das Verhalten ablegen soll, TABS zu nutzen... ich will ja gar keine Tabs haben!
Oh sorry, Parser-Fehler meinerseits ;)

Ich hab den Spass so eingestellt (~/.vimrc):

Code: Alles auswählen

set tabstop=4
set shiftwidth=4
set expandtab
set softtabstop=4
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
BlackJack

TheGrudge hat geschrieben:Wo wir gerade beim PEP 8 sind:
Ich versuche meine Programme gerade daran anzupassen, aber ich scheitere noch bei den Variablennamen, das wird mir nicht so ganz klar.

Globale Variablen: bla_blub_bla
sonstige: blaBlubBla ???
oder auch bla_blub_bla ??
Bis auf zwei Ausnahmen immer bla_blub_bla. Klassennamen in MixedCase und Konstanten in ALL_CAPS.
Benutzeravatar
TheGrudge
User
Beiträge: 96
Registriert: Donnerstag 4. Mai 2006, 18:39

OK :-)

Dann ersetze ich meinen Code hier mal durch bla_blub_blas...! :wink:
Benutzeravatar
TheGrudge
User
Beiträge: 96
Registriert: Donnerstag 4. Mai 2006, 18:39

So, nun bin ich fast zufrieden, hier mal meine vimrc:

Code: Alles auswählen

set guioptions+=f
colorscheme slate
set background=dark
set nocompatible
set shiftwidth=4
set tabstop=4
set expandtab
set textwidth=79
set makeprg=python\ -tt\ %
set number
set ruler
syntax on
filetype on
filetype indent on
filetype plugin on

nmap <F4> :Tlist<enter>
Nur noch eine kleine Frage, vielleicht weiss einer ja Bescheid:

Ich möchte das mapping <F4> sowohl makeprg nur dann nutzen, wenn ich ein Python file öffne.
Kann man sowas machen, wenn ja wie denn?
Antworten