Gibt es eine Möglichkeit, vim im schreibgeschützten Modus zu starten?


19

Ich verwende / bin / view, da dies eine sichere Methode zum Anzeigen von Textdateien ist und keine versehentlichen Änderungen auftreten, wenn ich fertig bin.

/ bin / view Nahten fehlen Funktionen, die normale vim hat. Gibt es eine Möglichkeit, vim im schreibgeschützten Modus zu starten oder / bin / view im visuellen Modus zu starten?

Ich möchte Text auswählen und einfügen können, ohne meine Maus benutzen zu müssen. Im visuellen Modus ist das so einfach.

Das Problem, das ich habe, hängt mit CentOS / redhat Linux-Distributionen zusammen, ist das -visuelle in Sicht.

# vim --version | grep visual
+ benutzerbefehle + vertsplit + virtualedit + visual + visualextra + viminfo + vreplace 
# view --version | grep visual
-textobjects -title -toolbar -user_commands -vertsplit -virtualedit -visual

viewist ein Link (der heutzutage normalerweise symbolisch ist) vim, der vimim schreibgeschützten Modus ausgeführt wird. Ihr viewscheint mit einem anderen verknüpft zu sein vimals dem, den Sie durch das Ausführen von "vim" erhalten. Schauen Sie sich die Manpage update-alternatives (8) an, um zu sehen, wie Sie das beheben können.
Garyjohn

Antworten:


21

Siehe $ vim --helpfür Vims viele Startargumente.

Zum Starten von Vim im schreibgeschützten Modus wäre dies:

$ vim -R filename

BEARBEITEN

$ viewund $ vim -Rscheinen durch symbolische Verknüpfungen ein und dasselbe zu sein. Ich bin mir nicht sicher, welche Funktionen Sie durch das Laufen erhalten $ vim -R, die Sie nicht haben $ view.

Hier auf Ubuntu kann ich Dinge in beiden visuell auswählen.


In centos view und vim -R sind nicht dasselbe. view wird aus irgendeinem Grund mit -visual kompiliert.
Nelaaro

8

Wenn Sie die -ROption beim Start vergessen haben vim, können Sie Folgendes verwenden:

:set ro

2

Wenn Ihr Ziel einfach darin besteht, die Originaldatei nicht zu überschreiben, können Sie vim's aus der Standardfunktion lesen:

cat filename | vim -

1

Wie @garyjohn erwähnte, viewwird oft symbolisch entweder mit vioder verbunden vim. Abhängig davon, welche Linux-Distribution Sie verwenden und wie vioder vimwurden diese installiert, kann dies variieren. Auf meinem RHEL 6-System ist die Ausgabe von ls -l `which view`Shows /bin/viewsymbolisch verknüpft mit vi.

Wenn Sie also die Funktionen des vimschreibgeschützten Modus nutzen möchten, müssen Sie entweder einen Alias viewfür @kev verwenden vimoder vim -R <filename>die von @kev bereitgestellte Lösung verwenden (vorausgesetzt, Sie haben keine Berechtigung zum Ändern der symbolischen Links auf dem betreffenden System).


Dies ist, was ich getan habe, und es funktioniert perfekt (wo vimist eine Version / Geschmack von Vim). Jetzt kann ich ein schreibgeschütztes Fenster zum Anzeigen von Unterschieden nebeneinander einrichten vim, wobei ein anderes Fenster gleichzeitig auch die eigentliche Datei bearbeitet.
Benjamin R
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.