Probleme mit Vi/Vim

OttiMayer

Benutzer
Registriert
11. Juni 2014
Beiträge
56
Reaktionspunkte
18
Punkte
14
Hallo zusammen!

Habe eine DS1621+ unter DSM 7.2.1.

Ich greife mit PuTTy auf das NAS zu und manövere über die \root in ein Verzeichnis, um dort z.B. eine Änderung an der Config-Datei vorzunehmen. Bis dahin komme ich problemlos. Nun rufe ich Vi auf und stelle fest, der :help-Aufruf funzt nicht. Es kommt lediglich die Meldung:
E433: No tags file
E149: Sorry, no help for help.txt


Da ich nicht wirklich fit in der Unix/Linux-Umgebung bin, fand ich heraus, dass ich mir ja den Vim über den Paketmanager installieren kann - der zwischenzeitlich auf dem NAS als installiert ausgewiesen wird.
Als versuche ich es nun erneut mit PuTTy und stelle beim Aufruf von VIM fest, es wird immer noch der Vi geladen:
VIM - Vi IMproved
version 8.2.4981

und logisch, es ist immer noch keine Help da.

Wie kriege ich den Vim nun ans Arbeiten?

Viele Grüße
Otti
 
Ist bei mir mit vi auch so. Wozu brauchst du :help? Google doch einfach.
Oder installier dir das Paket "SynoCli File Tools" von der Syno-Community, da ist "nano" als Editor mit dabei.
 
  • Like
Reaktionen: Benie
Warum in die Ferne schweifen *klick*
 
Warum auf der Terminal-Ebene an Config-Dateien rumschrauben, wenn man nach Selbstauskunft „nicht wirklich fit in der Unix/Linux Umgebung“ ist?

Da klingt für mich eher wie „lass mal gut sein, beschreib lieber mal, was du überhaupt willst“ !
 
stelle beim Aufruf von VIM fest, es wird immer noch der Vi geladen:
VIM - Vi IMproved
version 8.2.4981
Das habe ich jetzt nicht verstanden. Wird jetzt „Vi improved“ (=vim)geladen oder nicht?
 
Bei mir kommt dann, wenn ich vi oder vim starte, immer der vim, der aber keine Hilfe-Datei hat und deshalb die Eingabe von :help mit einer Fehlermeldung quittiert.
 
Also... das scheint so zu sein... wobei ich da auch noch in der Findungsphase bin.

Es sieht so aus, als hätte Synology inzwischen den Editor vim in den DSM integriert, weshalb man bei der Eingabe von vi auf vim umgeleitet wird. Das erkennt man, wenn man sich die Version anzeigen lässt.
Code:
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.

In dieser Version ist keine Hilfe enthalten.

Über die SynoCommunity kann man sich eine aktuellere Version von vim laden. Zurzeit ist das die Version 9.1-8. Wenn man nach der Installation vim im Terminal aufruft, wird aber wieder die Version 8.2 von Synology gestartet. Gibt man jedoch vim9 ein, startet die Communitiy Version von vim.
Code:
root@SynologyNAS:~# vim9 --version
VIM - Vi IMproved 9.1 (2024 Jan 02, compiled Jan 19 2025 09:13:58)
Compiled by SynoCommunity

Damit funktioniert auch die Hilfe innerhalb von vim.

BTW: Ich werde den Artikel im hiesigen Wiki die Tage korrigieren und auf neuesten Stand bringen. Das werde ich heute aber wohl nicht mehr schaffen.

Nachtrag 20:35 Uhr: Ich habe zumindest schon mal damit begonnen, den Wiki-Artikel in Teilen bis zum Punkt "Einführung in vim" zu aktualisieren.
 
Zuletzt bearbeitet:
Wie gesagt, ich bin noch dran, das Wiki zu aktualisieren. Ich habe gestern auch schon versucht, vim9 als Standard Editor zu etablieren, was mir bisher aber nicht gelungen ist. Vielleicht ist jemand von euch da schon weiter. Änderungen in der ~/.profile bzw. /etc/profile führten nicht zum Erfolg. Vielleicht habe ich auch nur nicht das richtige eingetragen.
 
Soderle... ich habe nun herausgefunden, wie man VIM 9 als Standard-Editor einstellen kann, so das nach Eingabe von vim im Terminal nicht die von Synology angebotenen VIM-Version, sondern die VIM-Version 9 aus der alternativen Paketquelle der SynoCommunity gestartet wird.

Wen das also interessiert, kann sich gerne das von mir bereits angepasste Wiki durchlesen *klick*

Mehr noch würde ich mich darüber freuen, wenn der ein oder andere den Abschnitt "VIM 9 (SynoCommunity) als Standard-Editor festlegen" ausprobieren könnte, um zu sehen, ob das bei euch ebenfalls funktionert.
 
Das mit Alias kam mir beim Lesen deiner Beiträge auch erst in den Sinn. Ich benutze z.B. sehr gerne "ll" als Alias für "ls -als". Was ich aber noch nicht ganz verstehe, was macht den erste Teil von
Code:
echo -e -n "\r\n[ -h '/usr/local/bin/vim9' ] && alias vim='/usr/local/bin/vim9'" >> /etc/profile
? und wo bringst du das unter? Schließlich soll ja die /etc/profile nicht mit Alias-Einträgen zugemüllt werden.
Edit: Ich meinte eigentlich den ganzen Teil vor dem &&.
 
Zuletzt bearbeitet:
Meinst du das hier?
Das fügt eine Leerzeile am Ende der Datei hinzu, bevor der eigentliche Eintrag geschrieben wird. Ist sicherlich nicht wichtig, aber mein innerer Monk treibt mich ständig zu solchen Dingen.

Nachtrag: Außer der /etc/profile habe ich keine adäquaten Datein gefunden wo ich das hätte unterbringen können.
 
/etc/profile gilt m.W. halt für alle und ~/.profile nur für dich privat.
 
Ich wusste es nicht besser, da ich mich mit Konfigurationsdsteien wie /etc/profile, ~/.profile etc. bisher noch nie groß beschäftigt habe. Auch gibt es (jedenfalls bei mir) keine ~/.profile, müsste sie demnach nur für diesen Zweck anlegen (was ja auch kein Problem darstellen sollte).

Ich kann das Wiki ja auch noch erweitern, indem ich einmal den globalen Weg beschreibe und einmal den persönlichen. Dann hätten wir alles abgedeckt.

Ach ja und noch was. Ich habe um vim, genau wie um vi bisher immer einen großen Bogen gemacht und werde das zukünftig wohl auch weiterhin tun. Mich hat das Thema nur getriggert, da ich vor ein paar Tagen erst den Wiki Artikel zu vim überarbeitet hatte. Wenn es also noch irgendwas gibt, was ich dazu schreiben könnte, dann raus damit.
 
Mein Sohn, ein absoluter Linux-Guru :rolleyes:, sagt mir gerade, Dinge wie Aliases gehören überhaupt nicht in die /etc/profile oder ~/.profile direkt, sondern in eine /etc.defaults/.bashrc_profile (alle) oder ~\.bashrc (privat), die aus der /etc/profile "gesourced" werden.

/etc/profile:
Code:
...
if [ -f /etc.defaults/.bashrc_profile ]; then
        source /etc.defaults/.bashrc_profile
fi

/etc.defaults/.bashrc_profile:
Code:
...
if [ -f ~/.bashrc ]; then
        source ~/.bashrc
fi
Again what learned. Auch ich lerne noch jeden Tag hinzu 🤣
 
Zuletzt bearbeitet:
Hallo,
in /etc.defaults/.bashrc_profile sind bereits aliases definiert und wird von rc.local ausgeführt....

Verdammt, Benares Sohn war schneller.

Gruß Götz
 
Warum weiß mein Sohn, als angehender Fachinformatiker sowas nicht :unsure:

Also gut. Ich schau mir das morgen… eher übermorgen an, teste alles mal durch und korrigiere dann das Wiki. Bis dahin schon mal danke für den Input.
 
Ach, lass es doch einfach so. Da die aktuellen Scripte die aktuelle Shell nicht berücksichtigen, dürfte es egal sein, wo man das unterbringt.
 
Ich habe jetzt folgendes gemacht. Zum einen habe ich einen neuen Artikel "Shell-Initialisierungsdateien und Benutzerprofile" geschrieben, da ich die Informationen bezüglich globaler und persönlicher Einstellungen doch ziemlich interessant und erwähnenswert fand.

Im Anschluss daran habe ich den Artikel "vim" entsprechend überarbeitet, sodass die entweder die globale Datei /etc.defaults/.bashrc_profile oder die persönliche Datei ~/.bashrc zur Anwendung kommt. Ich denke, das sollte so passen. Getestet habe ich das bei mir jedenfalls und scheint zu funktionieren.

Wer mag, darf sich die beiden Artikel gerne mal durchlesen und prüfen, ob alles korrekt ist. Ansonsten bitte kurz melden oder selbst korrigieren.
 

Additional post fields

 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat