Vim: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Sven (Diskussion | Beiträge) (automagically close ( [ { and ") |
Guckes (Diskussion | Beiträge) (→Whitespace: Faerben von Whitespace mittels listchars+SpecialKey) |
||
(16 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
[[Kategorie:Wissen]] | |||
=Automatically close ( [ { and "= | =Automatically close ( [ { and "= | ||
<pre> | <pre> | ||
Zeile 6: | Zeile 7: | ||
imap " <C-V>"<C-V>"<Left> | imap " <C-V>"<C-V>"<Left> | ||
</pre> | </pre> | ||
''%'' springt auf die öffnende oder schließende Klammer. | |||
=Tab-Completion= | =Tab-Completion= | ||
unter [http://gentoo.org Gentoo] gibts das auch als ebuild unter [http://gentoo-portage.com/app-vim/supertab app-vim/supertab] | |||
<pre> | <pre> | ||
function InsertTabWrapper(direction) " automagically decide what to do with <tab> | function InsertTabWrapper(direction) " automagically decide what to do with <tab> | ||
Zeile 26: | Zeile 30: | ||
inoremap <s-tab> <c-r>=InsertTabWrapper(-1)<cr> | inoremap <s-tab> <c-r>=InsertTabWrapper(-1)<cr> | ||
</pre> | </pre> | ||
=Filetype für Extension registrieren= | |||
Setzt für alle Dateien mit der Endung rxml den Filetype auf Ruby. | |||
<pre>autocmd BufRead,BufNewFile *.rxml set filetype=ruby</pre> | |||
= 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. | |||
<pre> | |||
au BufEnter * | |||
\ if &textwidth > 0 | | |||
\ exec 'match Error /\%>' . &textwidth . 'v.\+\|\s\+$/' | | |||
\ endif | |||
</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= | |||
Zum bearbeiten von XML-Files gibt es ein Plugin mit dem der Vim im Insert-Mode automatisch die Tags schließt. | |||
[http://www.vim.org/scripts/script.php?script_id=301 XML-Plugin bei vim.org]. | |||
= EOLs = | |||
Carriage Returns aus DOS/Windows Dateien entfernen: | |||
<nowiki>:1,$s/{Ctrl+V}{Ctrl+M}//{Enter}</nowiki> | |||
einfacher: | |||
:set ff=unix | |||
:w | |||
= 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
- Eine Übersicht über die gängigsten Befehle
- Die Vim-Dokumentation im HTML-Format (2010-09-04 fuer vim-7.2)