Vim: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
(→‎Whitespace: Faerben von Whitespace mittels listchars+SpecialKey)
 
(4 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Kategorie:Wissen]]
=Automatically close ( [ { and "=
=Automatically close ( [ { and "=
<pre>
<pre>
Zeile 34: Zeile 35:
<pre>autocmd BufRead,BufNewFile *.rxml set filetype=ruby</pre>
<pre>autocmd BufRead,BufNewFile *.rxml set filetype=ruby</pre>


=lange Zeilen und Whitespaces farbig hervorheben=
= Whitespace =
Sofern ''textwidth'' einen Wert größer 0 hat, wird mit diesen Zeilen alles jenseits dieser Grenze, sowie Whitespaces am Zeilenende als ''Error'' (weiß auf rot) markiert.
Lange Zeilen und Whitespaces farbig hervorheben:
Sofern ''textwidth'' einen Wert größer 0 hat,
wird mit diesen Zeilen alles jenseits dieser Grenze,
sowie Whitespaces am Zeilenende als ''Error'' (weiß auf rot) markiert.
 
<pre>
<pre>
au BufEnter *
au BufEnter *
Zeile 42: Zeile 47:
     \ endif
     \ endif
</pre>
</pre>
Wenn man lediglich den WhiteSpace am Ende der Zeilen
hervorheben moechte, dann reichen auch diese beiden Zeilen:
:set list listchars=tab:>o
:hi  SpecialKey ctermbg=blue ctermfg=white
Hilfe dazu:
:help listchars
:help hl-SpecialKey


=XML-Files=
=XML-Files=
Zeile 47: Zeile 62:
[http://www.vim.org/scripts/script.php?script_id=301 XML-Plugin bei vim.org].
[http://www.vim.org/scripts/script.php?script_id=301 XML-Plugin bei vim.org].


=Nützliche Links=
= EOLs =
[http://www.nitidelo.de/vim.php Eine Übersicht über die gängigsten Befehle]
 
Carriage Returns aus DOS/Windows Dateien entfernen:
 
<nowiki>:1,$s/{Ctrl+V}{Ctrl+M}//{Enter}</nowiki>
 
einfacher:
 
:set ff=unix
:w


[http://vimdoc.sourceforge.net/htmldoc/help.html Die Vim-Dokumentation im HTML-Format]
= Links=
* [http://www.nitidelo.de/vim.php Eine Übersicht über die gängigsten Befehle]
* [http://vimdoc.sourceforge.net/htmldoc/help.html Die Vim-Dokumentation im HTML-Format] (2010-09-04  fuer vim-7.2)

Aktuelle Version vom 6. September 2010, 15:56 Uhr

Automatically close ( [ { and "

imap ( ()<Left>
imap [ []<Left>
imap { {}<Left>
imap " <C-V>"<C-V>"<Left>

% springt auf die öffnende oder schließende Klammer.

Tab-Completion

unter Gentoo gibts das auch als ebuild unter app-vim/supertab

function InsertTabWrapper(direction)    " automagically decide what to do with <tab>
  let col = col('.') -1                 " <s-tab> in insert mode
  if !col
    return "\<tab>"         " insert Tab at the beginning of the line
  elseif a:direction < 0
    return "\<c-p>"         " insert Backward-Completion
  elseif getline('.')[col - 1] == '<space>'
    return "\<BS>\<TAB>"    " replace <space><tab> with <tab>
  elseif getline('.')[col - 1] !~ '\k'
    return "\<tab>"         " insert Tab if preceding character is not a keyword character
  else  
    return "\<c-n>"         " insert Forward-Completion
endfunction
        
inoremap <tab> <c-r>=InsertTabWrapper(1)<cr>
inoremap <s-tab> <c-r>=InsertTabWrapper(-1)<cr>

Filetype für Extension registrieren

Setzt für alle Dateien mit der Endung rxml den Filetype auf Ruby.

autocmd BufRead,BufNewFile *.rxml set filetype=ruby

Whitespace

Lange Zeilen und Whitespaces farbig hervorheben: Sofern textwidth einen Wert größer 0 hat, wird mit diesen Zeilen alles jenseits dieser Grenze, sowie Whitespaces am Zeilenende als Error (weiß auf rot) markiert.

au BufEnter *
    \ if &textwidth > 0 |
    \   exec 'match Error /\%>' . &textwidth . 'v.\+\|\s\+$/' |
    \ endif

Wenn man lediglich den WhiteSpace am Ende der Zeilen hervorheben moechte, dann reichen auch diese beiden Zeilen:

:set list listchars=tab:>o
:hi  SpecialKey ctermbg=blue ctermfg=white

Hilfe dazu:

:help listchars
:help hl-SpecialKey

XML-Files

Zum bearbeiten von XML-Files gibt es ein Plugin mit dem der Vim im Insert-Mode automatisch die Tags schließt. XML-Plugin bei vim.org.

EOLs

Carriage Returns aus DOS/Windows Dateien entfernen:

:1,$s/{Ctrl+V}{Ctrl+M}//{Enter}

einfacher:

:set ff=unix
:w

Links