Gibt es eine Möglichkeit, Emacs/vi/vim (von der Befehlszeile aus) mitzuteilen, dass ich die Datei in view-mode
oder anzeigen möchte read-only
?
Ich weiß, wie man eine Datei schreibgeschützt öffnet, wenn Emacs/VI/VIM bereits ausgeführt wird.
Antwort1
Für Emacs:
emacs FILE --eval '(setq buffer-read-only t)'
Es gibt keine Startoption, um schreibgeschützten Modus zu erzwingen.
Bearbeiten:
Wenn Sie diese kleine Funktion in Ihr Shell-Startskript (z. B. .bashrc) einfügen, können Sie eine Datei schreibgeschützt öffnen, indem Sie Folgendes eingeben:ev file_to_view
ev() {
emacs "$1" --eval '(setq buffer-read-only t)'
}
Antwort2
vim -R Dateiname
Antwort3
Dateinamen anzeigen
Grundsätzlich vim im schreibgeschützten Modus; ganz einfach!
Wie im Kommentar angedeutet, sind hier, falls view
es sich um ein einfaches handelt ,vi
SchlagBefehle, um die Situation zuerst zu untersuchen und dann zu beheben:
# non-destructive inspection
which vim
which view
ls -l $(which view)
# overwrite current view with symlink to vim, requires root
ln -sfv $(which vim) $(which view)
Antwort4
Kleine Ergänzung zur akzeptierten Antwort: Sie können dies in Ihrer Shell als Alias verwenden, um es auf einen einzigen Befehl zu reduzieren. In Bash können Sie beispielsweise Folgendes in Ihre .bashrc einfügen:
emacsro() {
emacs $1 --eval '(setq buffer-read-only t)'
}
(verschiedene Shells haben hierfür unterschiedliche Formate, aber Sie verstehen, was ich meine)
Ich hätte dies als Kommentar als Antwort auf die akzeptierte Antwort hinzugefügt, aber es schien nicht möglich, einen mehrzeiligen „Code“-Block in einem Kommentar zu haben, und (jedenfalls in Bash) muss der obige Code wirklich in drei separaten Zeilen stehen.