Vim: Unterschied zwischen den Versionen

Aus Synology Wiki
imported>KomischerKauz
KKeine Bearbeitungszusammenfassung
Dil88 (Diskussion | Beiträge)
K Kleine Ergänzungen
 
(19 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Category:Linux]][[Category:IPKG-Apps]][[Category:Texteditor]]
[[Category:Linux]][[Category:IPKG-Apps]][[Category:Texteditor]]


'''Vim''' ist eine Weiterentwicklung des auf den Synology Stations vorinstallierten Texteditors [[Der Editor vi|vi]]. Er bietet umfangreiche Verbesserungen gegenüber vi und ist dabei beinahe vollständig abwärtskompatibel zu vi.
== Worum geht es? ==
Der erweiterte Texteditor <code>vim</code> ist seit der '''Version 7''' des '''DiskStation Managers''' (DSM) fester Bestandteil der Kommandozeile und ersetzt damit den Texteditor <code>vi</code>, der bis zur Version 6 des DSM als einziger Texteditor installiert war. <code>vim</code> bietet erhebliche Verbesserungen gegenüber <code>vi</code> und ist dabei fast vollständig abwärtskompatibel zu vi.  


=== Voraussetzungen ===
Neben der im DSM installierten VIM-Version, die in der Regel nicht die aktuellste Version ist, kann über die alternative Paketquelle der [https://synocommunity.com/ '''SynoCommunity'''] eine aktuellere Version des VIM-Editors über das DSM Paket Zentrum installiert werden. Auf die Unterschiede zwischen den beiden Versionen wird im Folgenden näher eingegangen.


* Zugang zur [[Die Kommandozeile|Kommandozeile]] mit root-Rechten
== Voraussetzungen ==
* Installierte Version von [[IPKG]]
* Zugang zur [[Die Kommandozeile|Kommandozeile]], ggf. mit Root-Rechten


=== vim installieren ===
== Installation ==
Wie eingangs erwähnt, wird <code>vim</code> seit '''DSM 7''' standardmäßig mitgeliefert. Eine separate Installation ist daher nicht erforderlich.


Die Installation von vim erfordert root-Rechte und wird durch folgenden Befehl gestartet:
Alternativ kann [https://synocommunity.com/package/vim '''vim'''] auch als Installationspaket aus der '''alternativen Paketquelle''' der '''[https://synocommunity.com SynoCommunity]''' heruntergeladen und über das DSM Paket Zentrum installiert werden, wenn man lieber mit einer neueren Version arbeiten möchte. Neben der neueren Version bietet die Community-Version weitere Funktionen, die in der von Synology angebotenen Version nicht enthalten sind.<blockquote>'''''Wichtiger Hinweis:''' Im Gegensatz zur vim-Version, die von Synology standardmäßig ausgeliefert wird, muss die Community-Version anders aufgerufen werden. Es wird also nicht die Version von Synology überschrieben, sondern eine eigenständige Version neben der standardmäßig ausgelieferten Version installiert. Zur Verdeutlichung wird im Folgenden die jeweilige Versionsnummer der installierten vim-Version '''zum Zeitpunkt der DSM-Version 7.2.2''' angegeben, die sich natürlich zu einem späteren Zeitpunkt ändern wird.''
ipkg update; ipkg install vim


=== Einführung in vim ===
'''Standardmäßig installierte Version von Synology:'''<syntaxhighlight lang="shell">
root@SynologyNAS:~# vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 06 2022 13:32:43)
Included patches: 1-4981
Compiled by Synology Inc.
</syntaxhighlight>'''Nachträglich installierte Version der SynoCommunity:'''<syntaxhighlight lang="shell">
root@SynologyNAS:~# vim9 --version
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Jan 19 2025 09:13:58)
Compiled by SynoCommunity
</syntaxhighlight>Wie man sieht, lautet der Aufruf des vim-Editors der Community-Version <code>vim9</code> . Dies kann sich, wie bereits erwähnt, in Zukunft ändern, wenn z.B. irgendwann die Version 10 von <code>vim</code> erscheint.</blockquote>


Der Shell-Befehl
== VIM 9 (SynoCommunity) als Standard-Editor festlegen ==
vimtutor de
Um '''VIM 9''' aus der alternativen Paketquelle der SynoCommunity als Standard-Editor festzulegen, ist entweder ein Eintrag in der '''systemweiten''' (globalen) '''Konfigurationsdatei''' notwendig, wenn der Standard-Editor '''für alle Benutzer''' festgelegt werden soll, oder in der '''benutzerspezifischen''' (persönlichen) '''Konfigurationsdatei''', wenn der Standard-Editor nur '''für den eigenen Benutzer''' festgelegt werden soll.<blockquote>
startet eine interaktive und für Anfähnger empfehlenswerte Einführung in vim in deutscher Sprache.
* '''Synology''' verwendet für die '''systemweite Konfigurationsdatei''' neben der Datei <code>/etc/profile</code> vorzugsweise die Datei <code>/etc.defaults/.bashrc_profile</code>, um Konfigurationsanpassungen vorzunehmen. Es wird empfohlen, letztgenannte Datei zu verwenden.


Falls eine andere Sprache gewünscht ist, muss "de" durch die gewünschte Sprachkennung ersetzt werden. Der Befehl
* Für die '''benutzerspezifische''' '''Konfigurationsdatei''' ruft Synology über die globale Konfigurationsdatei <code>/etc.defaults/.bashrc_profile</code> die Datei <code>~/.bashrc</code> auf, sollte die Datei im Benutzer-Home-Verzeichnis des angemeldeten Benutzers vorhanden sein. Daher werden alle Konfigurationseinstellungen für den eigenen Benutzer in der Datei <code>~/.bashrc</code> abgelegt.
ls /opt/share/vim/tutor/tutor.?? /opt/share/vim/tutor/tutor.??.*
</blockquote>
listet alle verfügbaren Sprachkennungen (die beiden Buchstaben hinter "tutor.") auf. Ohne angegebene Sprachkennung startet der Tutor in englischer Sprache.


Eine vollständige Dokumentation liefert der vim-Befehl
== Anpassen der entsprechenden Konfigurationsdatei ==
:help
Die Festlegung des zu verwendeten Standard-Editors kann also sowohl in der Datei <code>/etc.defaults/.bashrc_profile</code> als auch in der Datei <code>~/.bashrc</code> erfolgen. Wenn die Datei <code>~/.bashrc</code> nicht existiert, muss sie gegebenenfalls erstellt werden. Dies geschieht durch den Befehl <code>touch ~/.bashrc</code>


Die Informationen im Artikel über [[Der Editor vi|vi]] gelten sinngemäß ebenfalls für vim.
Der folgende Eintrag prüft, ob ein '''SymLink''' unter <code>/usr/local/bin/vim9</code> existiert, der auf das eigentliche Programm unter <code>/var/packages/vim/target/bin/vim9</code> zeigt. Ist dies der Fall, wird der Aufruf des Programms '''vim''' nach '''vim9''' umgeleitet.


=== vim anpassen ===
Der folgende Eintrag kann durch manuelles Editieren der entsprechenden Datei mit einem Editor seiner Wahl geändert werden, um die folgende Zeile am Ende der Datei hinzuzufügen (ggf. mit root-Rechten).


Zur Anpassung von vim dient die sogenannte vimrc-Datei, die sich entweder in
Die folgende Zeile kann durch manuelles Editieren am Ende der entsprechenden Datei hinzugefügt werden. (ggf. sind root-Rechte erforderlich). <syntaxhighlight lang="shell">
/opt/share/vim/vimrc
[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'
für die Anpassung für alle Benutzer (erfordert root-Rechte), oder in
</syntaxhighlight>Alternativ kann der Eintrag durch Ausführen des folgenden Befehls auf der Konsole erfolgen, was den gleichen Effekt hat.
~/.vimrc
für die Anpassung nur für den aktuellen Benutzer erstellt werden muss.
Bei Konflikten zwischen globalen und benutzerspezifischen Einstellungen gelten die letzteren.


Die Datei '''/opt/share/vim/vimrc_example.vim''' eignet sich gut als Startpunkt für die Anpassung von vim.
* Befehl für den Eintrag in die '''systemweite''' (globale) '''Konfigurationsdatei'''<syntaxhighlight lang="shell">echo "[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'" >> /etc.defaults/.bashrc_profile</syntaxhighlight>


Zuerst muss die Datei an die richtige Stelle kopiert werden, d.h. entweder:
* Befehl für den Eintrag in die '''benutzerspezifische''' (persönliche) '''Konfigurationsdatei'''<syntaxhighlight lang="shell">echo "[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'" >> ~/.bashrc</syntaxhighlight>
cp /opt/share/vim/vimrc_example.vim /opt/share/vim/vimrc
Oder:
cp /opt/share/vim/vimrc_example.vim ~/.vimrc


Alternativ kann man auch mit einer leeren Datei beginnen, d.h. entweder:
Nachdem die Anpassungen vorgenommen wurden, muss die Terminal-Sitzung einmal durch Eingabe von <code>exit</code> geschlossen und neu aufgebaut werden. Alternativ kann man die geänderte Konfigurationsdatei mit dem Befehl source (bzw. der Abkürzung .) laden - Beispiel: <code>. ~./bashrc</code>. Anschließend sollte durch Eingabe von <code>vim</code> anstelle der von Synology angebotenen VIM-Version die '''VIM-Version 9''' aus der alternativen Paketquelle der SynoCommunity gestartet werden.
touch /opt/share/vim/vimrc
Oder:
touch ~/.vimrc


Anschließend kann die kopierte bzw. erstellte Datei an die eigenen Bedürfnisse angepasst werden.
== Einführung in vim ==
Eine vollständige Dokumentation liefert in der Community-Version der vim-Befehl
:help


Durch die zusätzliche Zeile
Die Informationen im Artikel über [[vi]] gelten sinngemäß ebenfalls für vim.
set nu
wird z.B. die Zeilennummerierung aktiviert.


=== Problem: geringer Kontrast zwischen Schrift und Hintergrund ===
== vim anpassen ==
Zur Anpassung von vim dient die sogenannte vimrc-Datei, die sich entweder in
/etc/vimrc
für die Anpassung für alle Benutzer (erfordert Root-Rechte), oder in
~/.vimrc
für die Anpassung nur für den aktuellen Benutzer erstellt werden muss.
 
Bei Konflikten zwischen globalen und benutzerspezifischen Einstellungen gelten die letzteren.


== Problem: geringer Kontrast zwischen Schrift und Hintergrund ==
Mit dem vim-Befehl
Mit dem vim-Befehl
  :help colo
  :help colo
Zeile 62: Zeile 70:
  colo evening
  colo evening


=== vim als Standard-Editor festlegen ===
=== Siehe auch ===
 
Um vim als Standard-Editor festzulegen, muss die Shell-Variable "EDITOR" den Wert "/opt/bin/vim" haben. Dies lässt sich erreichen, indem man in der Datei '''/etc/profile''' (gültig für alle Benutzer, erfordert root-Rechte) oder in der Datei '''~/.profile''' (gültig für den aktuellen Benutzer, muss unter Umständen zuerst erstellt werden) folgende Zeile hinzufügt:
 
export EDITOR="/opt/bin/vim"


Die Änderung wird erst nach dem nächsten Login wirksam und kann durch den Befehl
* [[Vergleich von Texteditoren]]
echo $EDITOR
* [http://www.vim.org Offizielle vim-Website]
überprüft werden. Wird die Variable in beiden Dateien gesetzt, so gilt der benutzerspezifische Wert.

Aktuelle Version vom 8. März 2025, 16:41 Uhr


Worum geht es?

Der erweiterte Texteditor vim ist seit der Version 7 des DiskStation Managers (DSM) fester Bestandteil der Kommandozeile und ersetzt damit den Texteditor vi, der bis zur Version 6 des DSM als einziger Texteditor installiert war. vim bietet erhebliche Verbesserungen gegenüber vi und ist dabei fast vollständig abwärtskompatibel zu vi.

Neben der im DSM installierten VIM-Version, die in der Regel nicht die aktuellste Version ist, kann über die alternative Paketquelle der SynoCommunity eine aktuellere Version des VIM-Editors über das DSM Paket Zentrum installiert werden. Auf die Unterschiede zwischen den beiden Versionen wird im Folgenden näher eingegangen.

Voraussetzungen

Installation

Wie eingangs erwähnt, wird vim seit DSM 7 standardmäßig mitgeliefert. Eine separate Installation ist daher nicht erforderlich.

Alternativ kann vim auch als Installationspaket aus der alternativen Paketquelle der SynoCommunity heruntergeladen und über das DSM Paket Zentrum installiert werden, wenn man lieber mit einer neueren Version arbeiten möchte. Neben der neueren Version bietet die Community-Version weitere Funktionen, die in der von Synology angebotenen Version nicht enthalten sind.

Wichtiger Hinweis: Im Gegensatz zur vim-Version, die von Synology standardmäßig ausgeliefert wird, muss die Community-Version anders aufgerufen werden. Es wird also nicht die Version von Synology überschrieben, sondern eine eigenständige Version neben der standardmäßig ausgelieferten Version installiert. Zur Verdeutlichung wird im Folgenden die jeweilige Versionsnummer der installierten vim-Version zum Zeitpunkt der DSM-Version 7.2.2 angegeben, die sich natürlich zu einem späteren Zeitpunkt ändern wird. Standardmäßig installierte Version von Synology:

root@SynologyNAS:~# vim --version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Sep 06 2022 13:32:43)
Included patches: 1-4981
Compiled by Synology Inc.

Nachträglich installierte Version der SynoCommunity:

root@SynologyNAS:~# vim9 --version
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Jan 19 2025 09:13:58)
Compiled by SynoCommunity

Wie man sieht, lautet der Aufruf des vim-Editors der Community-Version vim9 . Dies kann sich, wie bereits erwähnt, in Zukunft ändern, wenn z.B. irgendwann die Version 10 von vim erscheint.

VIM 9 (SynoCommunity) als Standard-Editor festlegen

Um VIM 9 aus der alternativen Paketquelle der SynoCommunity als Standard-Editor festzulegen, ist entweder ein Eintrag in der systemweiten (globalen) Konfigurationsdatei notwendig, wenn der Standard-Editor für alle Benutzer festgelegt werden soll, oder in der benutzerspezifischen (persönlichen) Konfigurationsdatei, wenn der Standard-Editor nur für den eigenen Benutzer festgelegt werden soll.

  • Synology verwendet für die systemweite Konfigurationsdatei neben der Datei /etc/profile vorzugsweise die Datei /etc.defaults/.bashrc_profile, um Konfigurationsanpassungen vorzunehmen. Es wird empfohlen, letztgenannte Datei zu verwenden.
  • Für die benutzerspezifische Konfigurationsdatei ruft Synology über die globale Konfigurationsdatei /etc.defaults/.bashrc_profile die Datei ~/.bashrc auf, sollte die Datei im Benutzer-Home-Verzeichnis des angemeldeten Benutzers vorhanden sein. Daher werden alle Konfigurationseinstellungen für den eigenen Benutzer in der Datei ~/.bashrc abgelegt.

Anpassen der entsprechenden Konfigurationsdatei

Die Festlegung des zu verwendeten Standard-Editors kann also sowohl in der Datei /etc.defaults/.bashrc_profile als auch in der Datei ~/.bashrc erfolgen. Wenn die Datei ~/.bashrc nicht existiert, muss sie gegebenenfalls erstellt werden. Dies geschieht durch den Befehl touch ~/.bashrc

Der folgende Eintrag prüft, ob ein SymLink unter /usr/local/bin/vim9 existiert, der auf das eigentliche Programm unter /var/packages/vim/target/bin/vim9 zeigt. Ist dies der Fall, wird der Aufruf des Programms vim nach vim9 umgeleitet.

Der folgende Eintrag kann durch manuelles Editieren der entsprechenden Datei mit einem Editor seiner Wahl geändert werden, um die folgende Zeile am Ende der Datei hinzuzufügen (ggf. mit root-Rechten).

Die folgende Zeile kann durch manuelles Editieren am Ende der entsprechenden Datei hinzugefügt werden. (ggf. sind root-Rechte erforderlich).

[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'

Alternativ kann der Eintrag durch Ausführen des folgenden Befehls auf der Konsole erfolgen, was den gleichen Effekt hat.

  • Befehl für den Eintrag in die systemweite (globale) Konfigurationsdatei
    echo "[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'" >> /etc.defaults/.bashrc_profile
    
  • Befehl für den Eintrag in die benutzerspezifische (persönliche) Konfigurationsdatei
    echo "[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'" >> ~/.bashrc
    

Nachdem die Anpassungen vorgenommen wurden, muss die Terminal-Sitzung einmal durch Eingabe von exit geschlossen und neu aufgebaut werden. Alternativ kann man die geänderte Konfigurationsdatei mit dem Befehl source (bzw. der Abkürzung .) laden - Beispiel: . ~./bashrc. Anschließend sollte durch Eingabe von vim anstelle der von Synology angebotenen VIM-Version die VIM-Version 9 aus der alternativen Paketquelle der SynoCommunity gestartet werden.

Einführung in vim

Eine vollständige Dokumentation liefert in der Community-Version der vim-Befehl

:help

Die Informationen im Artikel über vi gelten sinngemäß ebenfalls für vim.

vim anpassen

Zur Anpassung von vim dient die sogenannte vimrc-Datei, die sich entweder in

/etc/vimrc

für die Anpassung für alle Benutzer (erfordert Root-Rechte), oder in

~/.vimrc

für die Anpassung nur für den aktuellen Benutzer erstellt werden muss.

Bei Konflikten zwischen globalen und benutzerspezifischen Einstellungen gelten die letzteren.

Problem: geringer Kontrast zwischen Schrift und Hintergrund

Mit dem vim-Befehl

:help colo

kann man sich über das Wechseln von Farbschemata informieren. Nach der Auswahl eines passenderen Farbschemas empfiehlt es sich, den Wechselbefehl an die vimrc-Datei anzuhängen, z.B. für das Farbschema "evening":

colo evening

Siehe auch