6.57. Vim-7.0

Das Paket Vim enthält einen sehr mächtigen Texteditor.

Geschätzte Kompilierzeit: 0.4 SBU
Ungefähr benötigter Festplattenplatz: 47.4 MB
[Tipp]

Alternativen zu Vim

Wenn Sie einen anderen Editor bevorzugen—zum Beispiel Emacs, Joe oder Nano—dann schauen Sie unter http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html, dort finden Sie einige Installationshinweise.

6.57.1. Installation von Vim

Entpacken Sie zuerst beide Archivdateien—vim-7.0.tar.bz2 und (optional) vim-7.0-lang.tar.gz— in den gleichen Ordner. Dann behebn Sie mit dem folgenden Patch einige Fehler, die von den Entwicklern seit der letzten veröffentlichten Version von Vim-7.0 gefunden haben:

patch -Np1 -i ../vim-7.0-fixes-7.patch

Diese Version von Vim installiert einige übersetzte Hilfeseiten und kopiert sie in einen Ordner, der nicht von Man-DB durchsucht wird. Patchen Sie Vim deshalb so, dass die Hilfeseiten in durchsuchte Ordner installiert werden und in das gewünschte Format umgewandelt werden können:

patch -Np1 -i ../vim-7.0-mandir-1.patch

Durch einen der Upstream-Patches gibt es ein Problem mit dem Herunterladen der Sprachdateien mittels HTTP. Solange die Entwickler dieses Problem nicht behoben haben, hilft dieser Patch weiter:

patch -Np1 -i ../vim-7.0-spellfile-1.patch

Ändern Sie schlussendlich noch den Speicherort für die Konfigurationsdatei vimrc nach /etc:

echo '#define SYS_VIMRC_FILE "/etc/vimrc"' >> src/feature.h

Bereiten Sie Vim zum Kompilieren vor:

./configure --prefix=/usr --enable-multibyte

Die Bedeutung der configure-Parameter:

--enable-multibyte

Dieser Parameter schaltet die Unterstützung zum Editieren von Dateien mit Multibyte-Zeichenkodierung ein. Das wird benötigt, wenn Sie ein Locale mit Multibyte-Zeichensatz verwenden. Dieser Parameter ist auch hilfreich, wenn Sie Dateien bearbeiten möchten, die mit Distributionen wie z. B. Fedora Core erzeugt wurden (diese Distribution benutzt UTF-8 als voreingestellen Zeichensatz).

Kompilieren Sie das Paket:

make

Wenn Sie das Ergebnis testen möchten, können Sie dazu make test verwenden. Die Testsuite gibt jedoch eine Menge sinnlose Zeichen auf dem Bildschirm aus und könnte die Einstellungen Ihres Terminals durcheinander bringen. Sie können die Ausgabe in eine Datei umleiten, um dieses Problem zu umgehen.

Installieren Sie das Paket:

make install

In UTF-8-Locales versucht vimtutor, die Anleitungen von ISO-8859-1 nach UTF-8 umzuwandeln. Einige liegen aber gar nicht in ISO-8859-1 vor und werden durch diese Umwandlung unleserlich. Falls Sie vim-7.0-lang.tar.gz installiert haben und ein UTF-8-Locale einsetzen werden, so entfernen Sie bitte die nicht-ISO-8859-1-Anleitungen. Stattdessen wird dann eine englische Version benutzt.

rm -f /usr/share/vim/vim70/tutor/tutor.{gr,pl,ru,sk}
rm -f /usr/share/vim/vim70/tutor/tutor.??.*

Viele Benutzer sind es gewöhnt, vi anstelle von vim zu starten. Damit vim gestartet wird, obwohl vi eingegeben wurde, erzeugen Sie einen symbolischen Link sowohl für die Binärdatei als auch für die Hilfeseite in den verfügbaren Sprachen:

ln -sv vim /usr/bin/vi
for L in "" fr it pl ru; do
    ln -sv vim.1 /usr/share/man/$L/man1/vi.1
done

In der Voreinstellung wird die Dokumentation zu Vim in /usr/share/vim installiert. Durch den folgenden symbolischen Link wird sie unter /usr/share/doc/vim-7.0 verfügbar und ist damit konsistent mit der Dokumentation anderer Pakete:

ln -sv ../vim/vim70/doc /usr/share/doc/vim-7.0

Falls Sie später ein X Window-System auf Ihrem LFS installieren möchten, sollten Sie nach der Installation von X Ihren Vim erneut installieren. Vim bringt eine grafische Oberfläche mit, die allerdings X und ein paar weitere Bibliotheken voraussetzt. Weitere Informationen finden Sie in der Dokumentation zu Vim und im BLFS-Buch unter http://www.linuxfromscratch.org/blfs/view/svn/postlfs/editors.html#postlfs-editors-vim.

6.57.2. Einrichten von Vim

In der Voreinstellung läuft vim im vi-inkompatiblen Modus. Das ist wahrscheinlich neu für Leute, die in der Vergangenheit andere Editoren verwendet haben. Die Einstellung „nocompatible“ ist dennoch unten aufgeführt, um daran zu erinnern, dass das neue Verhalten benutzt wird. Wenn Sie zum vi-kompatiblen Modus wechseln möchten, sollte „compatible“ im Kopfbereich der Datei stehen. Das ist nötig, weil diese Option viele Voreinstellungen für Parameter vornimmt. Ihre eigenen Änderungen an diesen Parametern müssen danach erfolgen, weil sie sonst von „compatible“ zurückgesetzt würden. Erzeugen Sie eine Standard vim-Konfigurationsdatei mit diesem Kommando:

cat > /etc/vimrc << "EOF"
" Begin /etc/vimrc

set nocompatible
set backspace=2
syntax on
if (&term == "iterm") || (&term == "putty")
  set background=dark
endif

" End /etc/vimrc
EOF

Der Parameter set nocompatible versetzt vim in einen nützlicheren Betriebsmodus (Voreinstellung) als den vi-kompatiblen Modus. Entfernen Sie das „no“ falls Sie das alte vi-Verhalten nutzen möchten. set backspace=2 erlaubt das sogenannte Backspacing über Zeilenumbrüche hinweg, automatisches Einrücken und das Starten von Einrückungen. syntax on aktiviert vims Hervorheben von Syntax. Schließlich stellt die if-Verzweigung sicher, dass mittels set background=dark die Hintergrundfarbe von bestimmten Terminals besser eingestellt ist. Dadurch wird hervorgehobene Syntax in diesen Terminal-Emulatoren besser lesbar.

Die Dokumentation zu weiteren möglichen Optionen erhalten Sie mit diesem Kommando:

vim -c ':options'
[Anmerkung]

Anmerkung

Normalerweise installiert Vim die Dateien zur Rechtschreibprüfung nur in englischer Sprache. Wenn Sie die Rechtschreibprüfung auch für Ihre Sprache verfügbar haben möchten, laden Sie bitte die *.spl- und optional auch die *.sug-Dateien für Ihre Sprache und Kodierung von ftp://ftp.vim.org/pub/vim/runtime/spell/ herunter und speichern Sie sie nach /usr/share/vim/vim70/spell/.

Um diese Sprachdateien zu verwenden, müssen Sie in /etc/vimrc eingerichtet werden. Beispiel:

set spelllang=en,ru
set spell

Weitere Informationen finden Sie in der Datei README unter der gleichen Adresse.

6.57.3. Inhalt von Vim

Installierte Programme: efm_filter.pl, efm_perl.pl, ex (Link auf vim), less.sh, mve.awk, pltags.pl, ref, rview (Link auf vim), rvim (Link auf vim), shtags.pl, tcltags, vi (Link auf vim), view (Link auf vim), vim, vim132, vim2html.pl, vimdiff (Link auf vim), vimm, vimspell.sh, vimtutor und xxd

Kurze Beschreibungen

efm_filter.pl

Ein Filter zum Erzeugen einer Fehlerdatei, die von vim gelesen werden kann.

efm_perl.pl

Reformatiert Fehlermeldungen von Perl, um sie mit dem Quickfix-Modus von „vim“ benutzen zu können.

ex

Startet vim im ex-Modus.

less.sh

Ein Skript, welches vim mit less.vim startet.

mve.awk

Verarbeitet vim-Fehler.

pltags.pl

Erzeugt eine Markup-Datei für Perl-Code, die mit vim benutzt werden kann.

ref

Prüft die Schreibweise von Argumenten.

rview

Eine eingeschränkte Version von view: es gibt keine Shell-Kommandos und view kann nicht angehalten werden.

rvim

Eine eingeschränkte Version von vim: es gibt keine Shell-Kommandos und vim kann nicht angehalten werden.

shtags.pl

Erzeugt eine Markup-Datei für Perl-Skripte.

tcltags

Erzeugt eine Markup-Datei für TCL-Code.

view

Startet vim im Nur-lesen-Modus.

vi

Link auf vim.

vim

Dies ist der Editor.

vim132

Startet vim in einem Terminal mit 132-Spalten-Modus.

vim2html.pl

Konvertiert Vim-Dokumentation zu HyperText Markup Language (HTML).

vimdiff

Editiert zwei oder drei Versionen einer Datei mit vim und zeigt die Unterschiede an.

vimm

Aktiviert das DEC Locator-Eingabemodell auf einem entfernten Terminal.

vimspell.sh

Untersucht eine Datei und erzeugt die nötigen Syntax-Regeln um das Hervorheben der Syntax in vim zu ermöglichen. Dieses Skript benötigt das alte Unix-Kommando spell, welches allerdings weder von LFS, noch von BLFS bereitgestellt wird.

vimtutor

Bringt Ihnen die wichtigsten Tastenbelegungen und Kommandos von vim bei.

xxd

Erzeugt eine Hex-Ausgabe einer Datei. Das geht auch umgekehrt und kann zum Patchen von Binärdateien benutzt werden.