2006-11-27 06:28:22 +01:00
|
|
|
[[Kategorie:Wissen]]
|
2006-02-12 02:33:38 +01:00
|
|
|
=Automatically close ( [ { and "=
|
|
|
|
<pre>
|
|
|
|
imap ( ()<Left>
|
|
|
|
imap [ []<Left>
|
|
|
|
imap { {}<Left>
|
|
|
|
imap " <C-V>"<C-V>"<Left>
|
|
|
|
</pre>
|
|
|
|
|
2006-03-13 21:47:53 +01:00
|
|
|
''%'' springt auf die öffnende oder schließende Klammer.
|
|
|
|
|
2006-02-07 20:08:23 +01:00
|
|
|
=Tab-Completion=
|
2006-06-12 09:31:32 +02:00
|
|
|
unter [http://gentoo.org Gentoo] gibts das auch als ebuild unter [http://gentoo-portage.com/app-vim/supertab app-vim/supertab]
|
2006-02-07 20:09:14 +01:00
|
|
|
<pre>
|
2006-02-07 20:08:23 +01:00
|
|
|
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>
|
2006-02-07 20:09:14 +01:00
|
|
|
</pre>
|
2006-03-19 21:52:28 +01:00
|
|
|
|
2006-08-23 23:26:25 +02:00
|
|
|
=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>
|
|
|
|
|
2010-09-06 17:56:37 +02:00
|
|
|
= 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.
|
|
|
|
|
2006-03-19 21:52:28 +01:00
|
|
|
<pre>
|
2006-07-24 18:40:29 +02:00
|
|
|
au BufEnter *
|
|
|
|
\ if &textwidth > 0 |
|
|
|
|
\ exec 'match Error /\%>' . &textwidth . 'v.\+\|\s\+$/' |
|
|
|
|
\ endif
|
2006-03-19 21:52:28 +01:00
|
|
|
</pre>
|
2006-07-20 11:20:21 +02:00
|
|
|
|
2010-09-06 17:56:37 +02:00
|
|
|
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
|
|
|
|
|
2006-07-20 11:20:21 +02:00
|
|
|
=XML-Files=
|
|
|
|
Zum bearbeiten von XML-Files gibt es ein Plugin mit dem der Vim im Insert-Mode automatisch die Tags schließt.
|
2006-07-20 11:21:18 +02:00
|
|
|
[http://www.vim.org/scripts/script.php?script_id=301 XML-Plugin bei vim.org].
|
2006-07-21 10:28:15 +02:00
|
|
|
|
2010-09-06 16:42:57 +02:00
|
|
|
= EOLs =
|
|
|
|
|
|
|
|
Carriage Returns aus DOS/Windows Dateien entfernen:
|
|
|
|
|
2006-08-31 20:37:44 +02:00
|
|
|
<nowiki>:1,$s/{Ctrl+V}{Ctrl+M}//{Enter}</nowiki>
|
|
|
|
|
2010-09-06 16:42:57 +02:00
|
|
|
einfacher:
|
|
|
|
|
|
|
|
:set ff=unix
|
|
|
|
:w
|
|
|
|
|
2010-09-06 16:46:13 +02:00
|
|
|
= 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)
|