37 lines
1.2 KiB
Plaintext
37 lines
1.2 KiB
Plaintext
=Automatically close ( [ { and "=
|
|
<pre>
|
|
imap ( ()<Left>
|
|
imap [ []<Left>
|
|
imap { {}<Left>
|
|
imap " <C-V>"<C-V>"<Left>
|
|
</pre>
|
|
|
|
''%'' springt auf die öffnende oder schließende Klammer.
|
|
|
|
=Tab-Completion=
|
|
<pre>
|
|
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>
|
|
</pre>
|
|
|
|
=lange Zeilen und Whitespaces markieren=
|
|
Sofern ''textwidth'' einen Wert größer 0 hat, wird hiermit alles jenseits dieser Grenze
|
|
, sowie Whitespaces am Zeilenende weiß auf rot (''Error'') markiert.
|
|
<pre>
|
|
au BufEnter * if &textwidth > 0 | exec 'match Error /\%>' . &textwidth . 'v.\+\|\s\+$/' | endif
|
|
</pre>
|