Vim: Unterschied zwischen den Versionen

Aus C3D2
Zur Navigation springen Zur Suche springen
(neue Absatz : lange Zeilen und Whitespaces markieren)
Zeile 27: Zeile 27:
inoremap <tab> <c-r>=InsertTabWrapper(1)<cr>
inoremap <tab> <c-r>=InsertTabWrapper(1)<cr>
inoremap <s-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>
</pre>

Version vom 19. März 2006, 20:52 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

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>

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.

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