Vim: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
Henrikx (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Jewox (Diskussion | Beiträge)
Rechtschreibprüfung eingefügt, syntax
Zeile 1: Zeile 1:
{{hinweis|Dieser Artikel bezieht sich ausdrücklich auf '''Vim''', den leistungsfähigeren Klon von [[vi]]}}
{{hinweis|Dieser Artikel bezieht sich ausdrücklich auf '''Vim''', den leistungsfähigeren Klon von [[vi]]}}
 
{{righttoc}}
[[Bild:Vi_fstab.png|thumb|300px|Vim zeigt eine [[fstab]] in [[xterm]], hier mit aktiviertem Syntax-Highlighting]]
[[Bild:Vi_fstab.png|thumb|300px|Vim zeigt eine [[fstab]] in [[xterm]], hier mit aktiviertem Syntax-Highlighting]]


Vim ist einer der am weitesten fortgeschrittenen, freien Klone des Standardeditors vi und als solcher ein de-facto-Standard vor allem auf Linuxsystemen. Zusätzliche Eigenschaften sind z.B.
Vim ist einer der am weitesten fortgeschrittenen, freien Klone des Standardeditors vi und als solcher ein de-facto-Standard vor allem auf Linux Systemen. Zusätzliche Eigenschaften sind z.B.
* Syntax-Highlighting,
* Syntax-Highlighting,
* Programmierbarkeit,
* Programmierbarkeit,
* Erweiterbarkeit durch Plugins,
* Erweiterbarkeit durch Plug-Ins,
* „Code Folding“ (Einklappen von Abschnitten im Text) sowie
* Code Folding (Einklappen von Abschnitten im Text) sowie
* Darstellung in mehreren Teilfenstern.
* Darstellung in mehreren Teilfenstern.


{{Installation|repo=extra|paket=vim}}
{{Installation|repo=extra|paket=vim}}


Vim ist nur auf der Konsole oder in einem Terminal aufrufbar. Anleitungen zur Bedienung sind unter Weblinks zu finden.
Vim ist nur auf der Konsole oder in einem Terminal aufrufbar.


Die GUI-Variante GVim befindet sich in einem gesonderten Paket.  
Anleitungen zur Bedienung sind unter Weblinks zu finden.
 
Die GUI-Variante GVim befindet sich in einem gesonderten Paket.
  # pacman -S gvim
  # pacman -S gvim
Dieses Programm öffnet ein eigenes X11-Fenster, besitzt ein Menü, Datei-Dialoge,Scroll Bar, und weitere GUI-Spezifische Eigenschaften.


Dieses Programm öffnet ein eigenes X11-Fenster, besitzt ein Menü, Datei-Dialoge, Scrollbar, und weitere GUI-Spezifische Eigenschaften.
Vim steht in Konflikt mit GVim: Es kann entweder Vim oder GVim installiert werden, aber nicht beide Programme gleichzeitig. Siehe [http://www.archlinux.org/news/vimgvim-72411-update/ News: Vim/GVim 7.2.411 Update]. Allerdings bringt das Paket gvim die nichtgrafische Variante mit, die wie gewohnt mittels vim gestartet werden kann.


''Hinweis:'' Vim steht in Konflikt mit GVim. Es kann entweder Vim oder GVim installiert werden, aber nicht beide Programme gleichzeitig. Siehe [http://www.archlinux.org/news/vimgvim-72411-update/ News: Vim/GVim 7.2.411 Update]. Allerdings bringt das Paket gvim die nichtgrafische Variante mit, die wie gewohnt mittels ›vim‹ gestartet werden kann.
Es existieren zudem in den Repositorys eine ganze Reihe separat zu installierender Plug-Ins.
 
Es existieren zudem in den Repositorys eine ganze Reihe separat zu installierender Plugins.


== Konfiguration ==
== Konfiguration ==
''Hinweis:'' vi und Vim benutzen die Konfigurationsdatei <code>~/.exrc</code> gemeinsam, wenn beide Programme installiert sind. Die Einstellungen sind nicht kompatibel zueinander. Man sollte Vim ausschließlich über <code>~/.vimrc</code> konfigurieren und die Option <code>noexrc</code> setzen.
vi und Vim benutzen die Konfigurationsdatei {{ic|~/.exrc}} gemeinsam, wenn beide Programme installiert sind. Die Einstellungen sind nicht kompatibel zueinander. Man sollte Vim ausschließlich über {{ic|~/.vimrc}} konfigurieren und die Option {{ic|noexrc}} setzen.


Manuelle Einstellungen können in o.g. Konfigurationsdatei geschrieben werden, dann ohne führende Doppelpunkte. Vim bietet allerdings auch die Möglichkeit, solche Optionen zur Laufzeit zu setzen, zu testen und in die Konfigurationsdatei(en) zu speichern. Die Kommandos dazu lauten:
Manuelle Einstellungen können in o.g. Konfigurationsdatei geschrieben werden, dann ohne führende Doppelpunkte. Vim bietet allerdings auch die Möglichkeit, solche Optionen zur Laufzeit zu setzen, zu testen und in die Konfigurationsdatei(en) zu speichern. Die Kommandos dazu lauten:
  :set all
  :set all
  :set <option>   oder   :set no<option>
  :set <option> oder
  :set <option> = <value>
:set no<option>
  :set <option> = <value> :mk oder :mk! (oder :mkexrc oder :mkexrc!)
:mk   oder   :mk!   (oder   :mkexrc   oder   :mkexrc!)
{{ic|:mkexrc}} und {{ic|:mkexrc!}} führen u.U. zu oben genanntem Konflikt mit vi. Statt {{ic|:set <option>}} zum Setzen von Optionen kann auch {{ic|:set no<option>}} zum Entfernen der Optionen verwendet werden.
 
<code>:mkexrc</code> und <code>:mkexrc!</code> führen u.U. zu oben genanntem Konflikt mit vi. Statt <code>:set <option></code> zum Setzen von Optionen kann auch <code>:set no<option></code> zum Entfernen der Optionen verwendet werden.


Die Auflistung aller möglichen Einstellungen über das klassische, von vi bekannte <code>:set all</code> verschafft bereits intuitiv Klarheit über bereits getätigte Einstellungen.
Die Auflistung aller möglichen Einstellungen über das klassische, von vi bekannte {{ic|:set all}} verschafft bereits intuitiv Klarheit über bereits getätigte Einstellungen.


GVim besitzt zudem die Möglichkeit Einstellungen auch über Menüs bzw. grafische Dialoge vorzunehmen
GVim besitzt zudem die Möglichkeit, Einstellungen auch über Menüs bzw. grafische Dialoge vorzunehmen.


===Nützliche Optionen===
===Nützliche Optionen===
  set '''no'''backup              Backups ausschalten
  :set '''no'''backup              Backups ausschalten
  set ruler                  Zeile und Spalte anzeigen
  :set ruler                  Zeile und Spalte anzeigen
  set '''no'''compatible          nicht im Kompatiblitätsmodus arbeiten, d.h. Vim-spezifische Erweiterungen nutzen
  :set '''no'''compatible          nicht im Kompatibilitätsmodus arbeiten, d.h. Vim-spezifische Erweiterungen nutzen
  set '''no'''exrc                ~/.exrc nicht benutzen
  :set '''no'''exrc                ~/.exrc nicht benutzen
  set '''no'''errorbells          nicht piepsen, wenn man an Textbegrenzungen anstößt o.ä.
  :set '''no'''errorbells          nicht piepsen, wenn man an Textbegrenzungen anstößt o.ä.
  set showmode              den aktuellen Mode anzeigen
  :set showmode              den aktuellen Mode anzeigen
  set '''no'''wrap                lange Zeilen nicht umbrechen
  :set '''no'''wrap                lange Zeilen nicht umbrechen
  set nu                    Zeilennummern anzeigen
  :set nu                    Zeilennummern anzeigen


==Tipps und Tricks==
==Tipps und Tricks==
 
===Datei {{ic|.viminfo}}===
===Datei <code>.viminfo</code>===
Wer viel mit Vim arbeitet, wird feststellen, dass diese Datei stetig anwächst. Die Datei speichert bis zu einer gewissen Länge die Historie dessen, was der Benutzer mit Vim macht. Sie enthält dabei auch Textbestandteile, allerdings möglicherweise nicht nur von Dateien, die es längst nicht mehr gibt, sondern vielleicht auch sicherheitsrelevante und sensible Daten. Man kann diese Datei getrost löschen, auch automatisch, z.B. beim Login. Damit einhergehend verliert man dann aber die Möglichkeit, bereits schon mal eingegebene Befehle mit {{ic|:<?>}} zu durchsuchen.
Wer viel mit Vim arbeitet, wird feststellen, dass die Datei <code>~/.viminfo</code> anwächst. Diese Datei speichert bis zu einer gewissen Länge die History dessen, was der Benutzer mit Vim macht. Sie enthält dabei auch Textbestandteile, allerdings möglicherweise nicht nur von Dateien, die es längst nicht mehr gibt, sondern vielleicht auch sicherheitsrelevante und sensible Daten. Man kann diese Datei getrost löschen, auch automatisch, z.B. beim Login. Damit einhergehend verliert man dann aber die Möglichkeit, bereits schon mal eingegebene Befehle mit <code>: <↑></code> zu durchsuchen.
 
===Syntax-Highlighting===
===Syntax-Highlighting===
Möglicherweise kommt es nach einem Update dazu, dass das bislang einwandfrei funktionierende Syntax-Highlighting plötzlich ausgeschaltet ist. Ursache ist dass beim Update von Vim dessen globale Konfigurationsdatei ausgetauscht wird. Man kann es explizit wieder einschalten, indem man in <code>~/.vimrc</code> die Zeile
Möglicherweise kommt es nach einem Update dazu, dass das bislang einwandfrei funktionierende Syntax-Highlighting plötzlich ausgeschaltet ist. Ursache ist das beim Update von Vim dessen globale Konfigurationsdatei ausgetauscht wird. Man kann es explizit wieder einschalten, indem man in {{ic|~/.vimrc}} die Zeile
 
  syntax enable
  syntax enable
 
einfügt. Nach einem Neustart von Vim funktioniert das Syntax-Highlighting wieder wie erwartet. Man sollte mittels {{ic|:set all}} den Wert der Option {{ic|:syntax}} prüfen. Dieser sollte auf "vim" stehen. Wenn nicht, sollte man dies ebenfalls in die {{ic|~/.vimrc}} schreiben:
einfügt. Nach einem Neustart von Vim funktioniert das Syntax-Highlighting wieder wie erwartet. Man sollte mittels <code>:set all</code> den Wert der Option <code>syntax</code> prüfen. Dieser sollte auf "vim" stehen. Wenn nicht, sollte man dies ebenfalls in die <code>~/.vimrc</code> schreiben (<code>set syntax=vim</code>).
syntax=vim
 
===integrierte Rechtschreibprüfung===
Es werden dafür zusätzlich die Wörterbücher benötigt. Diese können mittels [[Pacman]] nachinstalliert werden z.B. vim-spell-de.
Prüfe, ob die Option aktiviert ist
:spellinfo
Aktiviere die deutsche Rechtschreibprüfung
:setlocal spell spelllang=de_de
Nun werden die falschen bzw. unbekannten Wörter markiert.
==== Befehle im Kommandomodus ====
{|{{prettytable}}
|style="width:10em;background-color:#E5E5E5"|'''Befehl'''
|style="width:40em;background-color:#E5E5E5"|'''Wirkung'''
|-
|]s  || Gehe zum nächsten falschen Wort
|-
|[s || Gehe zum vorherigen falschen Wort
|-
|zg || Fügt das Wort unter dem Cursor dem Wörterbuch hinzu, das in der Variable spellfile steht.
|-
|zG || Speichert Wort unter Cursor in interner Wortliste, diese geht nach dem Schließen von Vim verloren
|-
|zw || Fügt das Wort als falsch der Wörterbuchdatei aus der spellfile-Variable hinzu
|-
|zW || Speichert Wort als falsch in interner Wortliste
|-
|z= || Bietet eine Auswahl von Korrekturvorschlägen an
|-
|zug zuw zuG zuW || Löscht das Wort unter dem Cursor aus der entsprechenden Liste
|}
==== Automatisch aktivieren ====
Will man de Rechtschreibprüfung für bestimmte Dateitypen (unterschieden durch den Dateinamenssuffix) aktivieren, so kann man dies über die {{ic|~/.vimrc}} konfigurieren.
# Wann geladen wird              # Maske  # Aktivieren      # Zu verwendende Sprache
au BufNewFile,BufRead,BufEnter  *.wiki    setlocal spell    spelllang=de_de
au BufNewFile,BufRead,BufEnter  *.md      setlocal spell    spelllang=de_de
au BufNewFile,BufRead,BufEnter  *.txt    setlocal spell    spelllang=de_de
au BufNewFile,BufRead,BufEnter  README    setlocal spell    spelllang=en_us
Dieses Beispiel aktiviert die Rechtschreibprüfung auf Deutsch für alle Dateien mit {{ic|.wiki}} als Suffix, für alle Markdown-Dateien ({{ic|.md}}) und für alle Textdateien, die durch {{ic|.txt}} gekennzeichnet werden. Zusätzlich wird für alle Dateien mit dem Namen {{ic|README}} die englische Rechtschreibprüfung aktiviert.
==== Weitere Hilfe ====
:help spell
Online unter [http://vimdoc.sourceforge.net/htmldoc/spell.html Vim documentation: spell]
===Eingabemodus automatisch verlassen===
===Eingabemodus automatisch verlassen===
Vim erlaubt im Eingabemodus Cursorbewegungen. Dies ist ein Tribut an jüngere Benutzer, die „modeless“ Editoren gewöhnt sind und möglichst frei schreiben wollen. Dies kann allerdings signifikant stören, sofern der versierte Vim-Benutzer, der mit Kommandos arbeitet, gleich nach der Cursorbewegung ein Kommando ausführen will. Oft hämmert man dann das Kommando in den Text und muss es nachträglich mühsam wieder entfernen, um es dann noch einmal einzutippen. Vim erlaubt das Mappen von Tasten, auch spezifisch nur für bestimmte Modi. Man kann also die Cursortasten im Eingabemodus ganz nach Belieben so umgestalten, dass sie nicht nur die Cursorbewegung ausführen, sondern auch automatisch den Eingabemodus beenden, so dass Vim gleich zur Eingabe eines neuen Kommandos bereitsteht. Dazu dient folgendes kleine Stück Code, das in die <code>~/.vimrc</code> gehört:
Vim erlaubt im Eingabemodus Cursorbewegungen. Dies ist ein Tribut an jüngere Benutzer, die „modeless„ Editoren gewöhnt sind und möglichst frei schreiben wollen. Dies kann allerdings signifikant stören, sofern der versierte Vim-Benutzer, der mit Kommandos arbeitet, gleich nach der Cursorbewegung ein Kommando ausführen will. Oft hämmert man dann das Kommando in den Text und muss es nachträglich mühsam wieder entfernen, um es dann noch einmal einzutippen. Vim erlaubt das Mappen von Tasten, auch spezifisch nur für bestimmte Modi. Man kann also die Cursortasten im Eingabemodus ganz nach Belieben so umgestalten, dass sie nicht nur die Cursorbewegung ausführen, sondern auch automatisch den Eingabemodus beenden, so dass Vim gleich zur Eingabe eines neuen Kommandos bereitsteht. Dazu dient folgendes kleine Stück Code, das in die {{ic|~/.vimrc}} gehört:
 
  :function CondRight ()
  :function CondRight ()
  : if col(".") > 1
  : if col(".") > 1
Zeile 70: Zeile 102:
  : endif
  : endif
  :endfunction
  :endfunction
  imap <up>        <esc><up>:call CondRight()<CR>
  imap <up>        <esc><up>:call CondRight()<CR>
  imap <down>      <esc><down>:call CondRight()<CR>
  imap <down>      <esc><down>:call CondRight()<CR>
Zeile 79: Zeile 110:
  imap <pageup>    <esc><pageup>:call CondRight()<CR>
  imap <pageup>    <esc><pageup>:call CondRight()<CR>
  imap <pagedown>  <esc><pagedown>:call CondRight()<CR>
  imap <pagedown>  <esc><pagedown>:call CondRight()<CR>
===Vimtutor===
===Vimtutor===
Vim besitzt ein eingebautes Tutorial, mit dem man die Grundfunktionen des Editors erlernen kann.
Vim besitzt ein eingebautes Tutorial, mit dem man die Grundfunktionen des Editors erlernen kann.
  vimtutor
  vimtutor
Der Vimtutor wird automatisch bei der Vim-Installation mitinstalliert.
Der Vimtutor wird automatisch bei der Vim-Installation mitinstalliert.
==Siehe auch==
==Siehe auch==
* [[vi|Artikel zu vi hier im Wiki]]
* [[vi|Artikel zu vi hier im Wiki]]
==Weblinks==
==Weblinks==
* [http://www.vim.org/ Homepage : vim online] {{sprache|en}}
* [http://www.vim.org/ Homepage : vim online] {{sprache|en}}
* [http://vim.wikia.com/wiki/Vim_Tips_Wiki Vim Tips Wiki] {{sprache|en}}
* [http://vim.wikia.com/wiki/Vim_Tips_Wiki Vim Tips Wiki] {{sprache|en}}
* Anleitungen/Tutorials
** [http://tnerual.eriogerg.free.fr/vimqrc-ge.pdf Vim Kurzanleitung (2 Seiten, PDF)] {{sprache|de}}
** [http://tnerual.eriogerg.free.fr/vimqrc-ge.pdf Vim Kurzanleitung (2 Seiten, PDF)] {{sprache|de}}
** [http://lug.fh-swf.de/vim/vim-kurzanleitung/vim-kurzanleitung.pdf Vim Kurzanleitung (30 Seiten, PDF)] {{sprache|de}}
** [http://lug.fh-swf.de/vim/vim-kurzanleitung/vim-kurzanleitung.pdf Vim Kurzanleitung (30 Seiten, PDF)] {{sprache|de}}
Zeile 101: Zeile 125:
** [http://www.nitidelo.de/vim.php Vim Befehlsreferenz] {{sprache|de}}
** [http://www.nitidelo.de/vim.php Vim Befehlsreferenz] {{sprache|de}}
** [http://koydl.in-berlin.de/ A Byte Of Vim in Deutsch von Christoph Koydl] {{sprache|de}}
** [http://koydl.in-berlin.de/ A Byte Of Vim in Deutsch von Christoph Koydl] {{sprache|de}}
[[Kategorie:Konsole]]
[[Kategorie:Konsole]]
[[Kategorie:Editoren]]
[[Kategorie:Editoren]]
[[en:Vim]]

Version vom 3. Juni 2019, 16:39 Uhr

Hinweis: Dieser Artikel bezieht sich ausdrücklich auf Vim, den leistungsfähigeren Klon von vi

Vim zeigt eine fstab in xterm, hier mit aktiviertem Syntax-Highlighting

Vim ist einer der am weitesten fortgeschrittenen, freien Klone des Standardeditors vi und als solcher ein de-facto-Standard vor allem auf Linux Systemen. Zusätzliche Eigenschaften sind z.B.

  • Syntax-Highlighting,
  • Programmierbarkeit,
  • Erweiterbarkeit durch Plug-Ins,
  • Code Folding (Einklappen von Abschnitten im Text) sowie
  • Darstellung in mehreren Teilfenstern.

Installation

Das Programm ist als vim in extra verfügbar, und kann von dort mittels Pacman installiert werden.

pacman -S vim

Vim ist nur auf der Konsole oder in einem Terminal aufrufbar.

Anleitungen zur Bedienung sind unter Weblinks zu finden.

Die GUI-Variante GVim befindet sich in einem gesonderten Paket.

# pacman -S gvim

Dieses Programm öffnet ein eigenes X11-Fenster, besitzt ein Menü, Datei-Dialoge,Scroll Bar, und weitere GUI-Spezifische Eigenschaften.

Vim steht in Konflikt mit GVim: Es kann entweder Vim oder GVim installiert werden, aber nicht beide Programme gleichzeitig. Siehe News: Vim/GVim 7.2.411 Update. Allerdings bringt das Paket gvim die nichtgrafische Variante mit, die wie gewohnt mittels vim gestartet werden kann.

Es existieren zudem in den Repositorys eine ganze Reihe separat zu installierender Plug-Ins.

Konfiguration

vi und Vim benutzen die Konfigurationsdatei ~/.exrc gemeinsam, wenn beide Programme installiert sind. Die Einstellungen sind nicht kompatibel zueinander. Man sollte Vim ausschließlich über ~/.vimrc konfigurieren und die Option noexrc setzen.

Manuelle Einstellungen können in o.g. Konfigurationsdatei geschrieben werden, dann ohne führende Doppelpunkte. Vim bietet allerdings auch die Möglichkeit, solche Optionen zur Laufzeit zu setzen, zu testen und in die Konfigurationsdatei(en) zu speichern. Die Kommandos dazu lauten:

:set all
:set <option> oder
:set no<option>
:set <option> = <value> :mk oder :mk! (oder :mkexrc oder :mkexrc!)

:mkexrc und :mkexrc! führen u.U. zu oben genanntem Konflikt mit vi. Statt :set <option> zum Setzen von Optionen kann auch :set no<option> zum Entfernen der Optionen verwendet werden.

Die Auflistung aller möglichen Einstellungen über das klassische, von vi bekannte :set all verschafft bereits intuitiv Klarheit über bereits getätigte Einstellungen.

GVim besitzt zudem die Möglichkeit, Einstellungen auch über Menüs bzw. grafische Dialoge vorzunehmen.

Nützliche Optionen

:set nobackup               Backups ausschalten
:set ruler                  Zeile und Spalte anzeigen
:set nocompatible           nicht im Kompatibilitätsmodus arbeiten, d.h. Vim-spezifische Erweiterungen nutzen
:set noexrc                 ~/.exrc nicht benutzen
:set noerrorbells           nicht piepsen, wenn man an Textbegrenzungen anstößt o.ä.
:set showmode               den aktuellen Mode anzeigen
:set nowrap                 lange Zeilen nicht umbrechen
:set nu                     Zeilennummern anzeigen

Tipps und Tricks

Datei .viminfo

Wer viel mit Vim arbeitet, wird feststellen, dass diese Datei stetig anwächst. Die Datei speichert bis zu einer gewissen Länge die Historie dessen, was der Benutzer mit Vim macht. Sie enthält dabei auch Textbestandteile, allerdings möglicherweise nicht nur von Dateien, die es längst nicht mehr gibt, sondern vielleicht auch sicherheitsrelevante und sensible Daten. Man kann diese Datei getrost löschen, auch automatisch, z.B. beim Login. Damit einhergehend verliert man dann aber die Möglichkeit, bereits schon mal eingegebene Befehle mit :<?> zu durchsuchen.

Syntax-Highlighting

Möglicherweise kommt es nach einem Update dazu, dass das bislang einwandfrei funktionierende Syntax-Highlighting plötzlich ausgeschaltet ist. Ursache ist das beim Update von Vim dessen globale Konfigurationsdatei ausgetauscht wird. Man kann es explizit wieder einschalten, indem man in ~/.vimrc die Zeile

syntax enable

einfügt. Nach einem Neustart von Vim funktioniert das Syntax-Highlighting wieder wie erwartet. Man sollte mittels :set all den Wert der Option :syntax prüfen. Dieser sollte auf "vim" stehen. Wenn nicht, sollte man dies ebenfalls in die ~/.vimrc schreiben:

syntax=vim

integrierte Rechtschreibprüfung

Es werden dafür zusätzlich die Wörterbücher benötigt. Diese können mittels Pacman nachinstalliert werden z.B. vim-spell-de. Prüfe, ob die Option aktiviert ist

:spellinfo

Aktiviere die deutsche Rechtschreibprüfung

:setlocal spell spelllang=de_de

Nun werden die falschen bzw. unbekannten Wörter markiert.

Befehle im Kommandomodus

Befehl Wirkung
]s Gehe zum nächsten falschen Wort
[s Gehe zum vorherigen falschen Wort
zg Fügt das Wort unter dem Cursor dem Wörterbuch hinzu, das in der Variable spellfile steht.
zG Speichert Wort unter Cursor in interner Wortliste, diese geht nach dem Schließen von Vim verloren
zw Fügt das Wort als falsch der Wörterbuchdatei aus der spellfile-Variable hinzu
zW Speichert Wort als falsch in interner Wortliste
z= Bietet eine Auswahl von Korrekturvorschlägen an
zug zuw zuG zuW Löscht das Wort unter dem Cursor aus der entsprechenden Liste

Automatisch aktivieren

Will man de Rechtschreibprüfung für bestimmte Dateitypen (unterschieden durch den Dateinamenssuffix) aktivieren, so kann man dies über die ~/.vimrc konfigurieren.

# Wann geladen wird              # Maske   # Aktivieren      # Zu verwendende Sprache
au BufNewFile,BufRead,BufEnter   *.wiki    setlocal spell    spelllang=de_de
au BufNewFile,BufRead,BufEnter   *.md      setlocal spell    spelllang=de_de
au BufNewFile,BufRead,BufEnter   *.txt     setlocal spell    spelllang=de_de
au BufNewFile,BufRead,BufEnter   README    setlocal spell    spelllang=en_us

Dieses Beispiel aktiviert die Rechtschreibprüfung auf Deutsch für alle Dateien mit .wiki als Suffix, für alle Markdown-Dateien (.md) und für alle Textdateien, die durch .txt gekennzeichnet werden. Zusätzlich wird für alle Dateien mit dem Namen README die englische Rechtschreibprüfung aktiviert.

Weitere Hilfe

:help spell

Online unter Vim documentation: spell

Eingabemodus automatisch verlassen

Vim erlaubt im Eingabemodus Cursorbewegungen. Dies ist ein Tribut an jüngere Benutzer, die „modeless„ Editoren gewöhnt sind und möglichst frei schreiben wollen. Dies kann allerdings signifikant stören, sofern der versierte Vim-Benutzer, der mit Kommandos arbeitet, gleich nach der Cursorbewegung ein Kommando ausführen will. Oft hämmert man dann das Kommando in den Text und muss es nachträglich mühsam wieder entfernen, um es dann noch einmal einzutippen. Vim erlaubt das Mappen von Tasten, auch spezifisch nur für bestimmte Modi. Man kann also die Cursortasten im Eingabemodus ganz nach Belieben so umgestalten, dass sie nicht nur die Cursorbewegung ausführen, sondern auch automatisch den Eingabemodus beenden, so dass Vim gleich zur Eingabe eines neuen Kommandos bereitsteht. Dazu dient folgendes kleine Stück Code, das in die ~/.vimrc gehört:

:function CondRight ()
: if col(".") > 1
:  call cursor(line("."), col(".") + 1)
: endif
:endfunction
imap <up>         <esc><up>:call CondRight()<CR>
imap <down>       <esc><down>:call CondRight()<CR>
imap <left>       <esc>
imap <right>      <esc>:call CondRight()<CR><right>
imap <home>       <esc><home>
imap <end>        <esc><end>
imap <pageup>     <esc><pageup>:call CondRight()<CR>
imap <pagedown>   <esc><pagedown>:call CondRight()<CR>

Vimtutor

Vim besitzt ein eingebautes Tutorial, mit dem man die Grundfunktionen des Editors erlernen kann.

vimtutor

Der Vimtutor wird automatisch bei der Vim-Installation mitinstalliert.

Siehe auch

Weblinks