Vim Konfiguration: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
Zeile 16: Zeile 16:
 
  inoremap [ []<Esc>i
 
  inoremap [ []<Esc>i
 
  inoremap " ""<Esc>i
 
  inoremap " ""<Esc>i
  inoremap ' ''<Esc>i
+
  inoremap ' \''<Esc>i
 
Wenn man dieses Verhalten nicht will, kann man mit folgender Konfiguration durch ein Double-Tap nur eine Seite setzen:
 
Wenn man dieses Verhalten nicht will, kann man mit folgender Konfiguration durch ein Double-Tap nur eine Seite setzen:
  

Version vom 10. Oktober 2022, 09:02 Uhr

Allgemein

Vim kann über die $MYVIMRC Datei konfiguriert werden. Dazu öffnet man Vim und gibt den Befehl:

:edit $MYVIMRC

Viele Einstellungen sind über :help aufrufbar. Für komplexere Verhalten können Funktionen in VimScript definiert werden. In NeoVim kann man das auch mit Lua machen. Die folgende Befehle sind für die Default ~/.vimrc

Automatische Klammern/Anführungszeichen

Normalerweise folgt auf ein Klammerauf oder Anführungszeichen ein abschließendes Zeichen. Es kann aber sein, dass man vergisst diese zu tippen. Mit den folgenden Zeilen werden automatisch Klammern und Anführungszeichen gesetzt:

inoremap ( ()<Esc>i
inoremap { {}<Esc>i
inoremap [ []<Esc>i
inoremap " ""<Esc>i
inoremap ' \<Esc>i

Wenn man dieses Verhalten nicht will, kann man mit folgender Konfiguration durch ein Double-Tap nur eine Seite setzen:

inoremap (( (
inoremap {{ {
inoremap [[ [
inoremap "" "
inoremap  '

Schnell Einklammern

Oft hat man Text geschrieben, den man im nachhinein einklammern oder in Anführungszeichen setzen will. Normalerweise müsste man dafür:

  • in den Insert-Modus wechseln
  • Klammerauf tippen
  • in den Normal-Modus wechseln
  • Zum Klammerende navigieren
  • in den Insert-Modus wechseln
  • Klammerzu tippen

Dies kann auf Dauer lästig sein, weshalb folgende Befehle diese Sache drastisch vereinfachen können:

vnoremap <Leader>( s(<C-r>")<Esc>
vnoremap <Leader>[ s[<C-r>"]<Esc>
vnoremap <Leader>{ s{<C-r>"}<Esc>
vnoremap <Leader>' s'<C-r>"'<Esc>
vnoremap <Leader>" s"<C-r>""<Esc>

Nun kann man in den Visual-Mode wechseln und <Leader> (Normalerweise “\”) + Klammerauf bzw. Anführungszeichen tippen, um schnell den markierten Text einklammern.