Vim Konfiguration

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Für LaTeX+vim gibt es VIM-LaTeX
lunar hat geschrieben:Auch benötige ich noch ein brauchbares Farbschema mit weißem Hintergrund, aber das kann man im Zweifelsfall auch selbst erstellen, allzu kompliziert scheint die Syntax dafür nicht zu sein.
Für weißen Hintergrund kann ich summerfruit von mitsuhiko empfehlen.

Edit: "pyte" hat zwar keinen ganz weißen Hintergrund, aber dafür ein sehr helles Grau: http://www.vim.org/scripts/script.php?script_id=1492
lunar

@derdon: Danke für die Hilfe, doch ich habe bereits ein eigenes Farbschema geschrieben. Die Themen wären eh nichts für mich gewesen, summerfruit ist mir zu bunt, pyte zu kontrastarm.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Was genau ist eigentlich der Unterschied zwischen einem eingebetten Interpreter und einem Terminal mit Interpreter neben dem Editor? :-)

Dann will ich hier auch mal ein paar Ausschnitte aus meiner Vim-RC posten, die ganze Version gibts auf GitHub (siehe Signatur):

Code: Alles auswählen

set scrolloff=99999

fu! _filetype()
  if &ft != 'python'
    if &ft == ''
      return ''
    else
      return '[' . &ft . ']'
    endif
  elseif exists("w:PHStatusLine")
    return '  ' . w:PHStatusLine
  else
    return ''
  endif
endfunction

set statusline=%f\ %h%m%r%w%{_filetype()}%*%=\ pos:\ %l\/%L,%c%<\ \|\ asc\ %b/0x%B\ \|\ %P
set laststatus=2

" switch tabs with Ctrl-{j,k}
noremap <C-K>   <C-PageDown>
inoremap <C-K>  <C-PageDown>
noremap <C-J>   <C-PageUp>
inoremap <C-J>  <C-PageUp>

" switch windows with Ctrl-{h,l}
map <C-h> <C-w>h
map <C-l> <C-w>l

" Better Search
set hlsearch
set incsearch
set ignorecase
set smartcase
nnoremap <silent> <C-l> :nohl<CR><C-l>

" Highlight column 81
set colorcolumn=81
highlight ColorColumn ctermbg=darkgrey

" Remember cursor position after reload
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif

" go with smartindent if there is no plugin indent file.
" but don't outdent hashes
inoremap # #

" Python!
autocmd FileType python setlocal
\   formatoptions+=croq " c+r+o+q
\   cinwords=if,elif,else,for,while,try,except,finally,def,class,with
\   complete+=k~/.vim/syntax/python.vim isk+=.,(
let python_highlight_all = 1

Das Statusline-Gewurschtel ist leider total unleserlich, beschert mir aber eine recht informative Statusleiste:

Bild
lunar

@Dauerbaustelle: Ein Interpreter im Editor ist manchmal übersichtlicher und komfortabler.

Der interaktive Interpreter des GHC (ein Haskell-Compiler) beispielsweise unterstützt die Haskell-Syntax nicht vollständig. Folglich implementiert man Funktion meist in einer normalen Quelltextdatei und lädt diese anschließend in den Interpreter, um einzelne Funktionen auszuprobieren. Dieser Arbeitsablauf geht schneller von der Hand, wenn Editor und Interpreter in einem Fenster vereint sind, und eine Quelltextdatei mit einem Tastenkürzel direkt geladen werden kann.

In manchen Situationen (e.g. Unterricht) ist es zudem wünschenswert, Quelltext und Interpreterausgabe gleichzeitig anzuzeigen. Das fällt leichter, wenn beide im selben Programm und folglich auch im selben Programm laufen.
Benutzeravatar
snafu
User
Beiträge: 6738
Registriert: Donnerstag 21. Februar 2008, 17:31
Wohnort: Gelsenkirchen

Leonidas hat geschrieben:Meine .vimrc von Vim 7.3.69 [...]
Zeile 52:

Code: Alles auswählen

set smartindent cinwords=if,elif,else,for,while,try,except,finally,def,class
Fehlt da nicht das with-Statement? ;)
pudeldestodes
User
Beiträge: 65
Registriert: Samstag 9. Juni 2007, 23:45

@ms4py:
Ich fand das "Graphical cheat sheet based tutorial" und das dort ebenfalls bereitgestellte "graphical cheat sheet" recht hilfreich für den Einstieg.
syntor
User
Beiträge: 88
Registriert: Donnerstag 2. Dezember 2010, 03:56

Code: Alles auswählen

  syn match   pythonSpaceError  display "^\%( \{4}\)* \{1,3}[^ ]"hs=s,he=e-1
Um alle Einrückungen die keine Vielfachen von vier sind anzuzeigen. (geht in die syntax/python.vim)
Wenn man hs=s entfernt, wird nur der Überschuss (ein bis drei Leerzeichen) markiert.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

syntor hat geschrieben:

Code: Alles auswählen

  syn match   pythonSpaceError  display "^\%( \{4}\)* \{1,3}[^ ]"hs=s,he=e-1
Um alle Einrückungen die keine Vielfachen von vier sind anzuzeigen. (geht in die syntax/python.vim)
Wenn man hs=s entfernt, wird nur der Überschuss (ein bis drei Leerzeichen) markiert.
Klappt hier gar nicht, "Garbage after pattern".
syntor
User
Beiträge: 88
Registriert: Donnerstag 2. Dezember 2010, 03:56

Hast du das hs=s rausgenommen?

Nach dem Ende des Patterns, also dem ", darf kein Whitespace sein, sonst bekommst du diesen Fehler.
Dauerbaustelle
User
Beiträge: 996
Registriert: Mittwoch 9. Januar 2008, 13:48

Jupp. Welche Vim-Version hast du denn? Bei mir läuft 7.3.69.
syntor
User
Beiträge: 88
Registriert: Donnerstag 2. Dezember 2010, 03:56

Bei mir steht nur 7.3, wenn ich :version eingebe, 15 August 2010.
Viellecht hat ja auch phpBB ein paar Zeichen geschluckt. Ich schau mal kurz nach.

Update
Ich seh da nix.
Vielleicht nich alles mitkompiliert? (ich bin im Moment auf gVimPortable (MS build))

http://python-forum.de/pastebin.php?mode=view&s=95

Zeile 229^^

Update

Hast du es schon einmal ohne die Pattern-Offsets versucht? Dann wird einfach das erste Zeichen nach den Leerzeichen auch hervorgehoben. Wenn man auch look-ahead <richtigen begriff einsetzen> machen kann, dann ginge das auch ohne die Offset-Angaben.

Update

Code: Alles auswählen

^\%( \{4}\)* \{1,3}[^ ]\@=
Dann brauchst du gar kein syn-pattern-offset und es sollte demzufolge auch kein Garbage geben.
Antworten