Die mit Mac OS 10.3 (Panther) ausgelieferte Version von vim (6.2) unterstützt zwar prinzipiell die Textkodierung UTF-8, ist aber nicht mit multi-byte-Unterstützung kompiliert worden.
Um UTF-8-kodierte Dateien zu verwenden und zu erzeugen, kann man vim selbst kompilieren (Voraussetzung sind die Developer Tools). Folgende Schritte sind notwendig:
bunzip2 -c vim-6.3.tar.bz2 | tar -xf -
CONF_OPT_MULTIBYTE = --enable-multibyte # Zeile 399 CONF_OPT_FEAT = --with-features=huge # Zeile 435
make
.sudo make install
. Die Installation erfolgt in /usr/local/bin
. Die von Apple gelieferte Version liegt in /usr/bin
. Um ganz auf die neue Version zu wechseln, sollte die Apple-Version mit allen Symlinks entfernt werden. Entsprechendes gilt für die man-Seiten. Zwei Hinweise: Apple stellt einen symbolic link namens vi für vim zur Verfügung, der in /usr/local/bin
manuell eingefügt werden muss, wenn man vim mit vi filename
aufrufen können möchte. Hat man die Erweiterungen zum Source-Code ebenfalls heruntergeladen, wird automatisch eine GUI-Version kompiliert, und es erfolgt keine Installation in /usr/local/bin
(dazu s.u.)
~/.vimrc
:
set encoding=utf-8 set termencoding=utf-8
Auch das Terminal selbst muss natürlich (Fenstereinstellungen > Monitor > Zeichensatz-Kodierung) auf "Unicode (UTF-8)" eingestellt werden.Das einzige Problem mit der Terminal-Version von vim sind die Zeilenumbrüche: Wenn vim die Zeilen am Fensterrand umbricht, ohne Zeilenumbrüche einzufügen ("soft wrapping" mit der Einstellung :set wrap nolinebreak
), können beim Umbrechen langer Zeilen Zeichen verschwinden. Die Lösung ist die Option :set linebreak
, mit der Vim Zeilen automatisch in Wortzwischenräumen umbricht.
Eine Alternative ist die Verwendung einer GUI-Version, die nicht mit dem Terminal interagiert. Um eine solche Version unter Mac OS 10.3 zu kompilieren, werden bestimmte Erweiterungen zum vim-Source benötigt (Download: vim.org).
gunzip -c vim-6.3-extra.tar.gz | tar -xf -
make distclean
zu bereinigen.vim63/src/Makefile
– falls noch nicht geschehen – angepasst (s.o.). Weitere Änderungen müssen nicht vorgenommen werden.make
und sudo make install
.Bei diesem Vorgehen wird vim während der Installation nicht in /usr/local/bin
kopiert. Stattdessen wird im Verzeichnis vim63/src
ein Package namens Vim.app erzeugt, das an den gewünschten Ort kopiert werden kann (z.B. ~/Applications
).
Innerhalb dieses Packages (Vim.app/Content/MacOS/Vim
) befindet sich die normale Terminal-Version, die auch über das Terminal gestartet werden kann. Möchte man allerdings mit dem Terminal arbeiten, ist die Installation einer Version ohne GUI (wie oben beschrieben) in /usr/local/bin
sinnvoll, weil dieses Verzeichnis Teil von $PATH
ist (dadurch kann Vim aus jedem Verzeichnis heraus gestartet werden).
Alternativ kann man eine fertig kompilierte GUI-Version von vim 6.3 (für Mac OS 10.3) auch bei mir herunterladen (kompiliert mit den Optionen: --with-features=huge, --enable-multibyte, --enable-perlinterp
).