有没有办法告诉 emacs/vi/vim(从命令行)我想要查看view-mode
或中的文件read-only
。
我知道如果 emacs/vi/vim 已在运行,如何以只读方式打开文件。
答案1
对于 emacs:
emacs FILE --eval '(setq buffer-read-only t)'
没有强制只读的启动选项。
编辑:
如果你把这个小函数放在你的 shell 启动脚本(例如 .bashrc)中,你可以通过输入以下内容以只读方式打开文件ev file_to_view
ev() {
emacs "$1" --eval '(setq buffer-read-only t)'
}
答案2
vim -R 文件名
答案3
查看文件名
基本上 vim 处于只读模式;简单!
正如评论所暗示的,如果view
与普通链接vi
,则这里是狂欢首先检查情况然后修复它的命令:
# 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)
答案4
对已接受答案的小小跟进:您可以在 shell 中为其添加别名,以将其简化为单个命令。例如,在 bash 中,您可以在 .bashrc 中输入以下内容:
emacsro() {
emacs $1 --eval '(setq buffer-read-only t)'
}
(不同的 shell 执行此操作的格式不同,但你应该明白了)
我本来想将其添加为对已接受答案的评论,但似乎不可能在评论中包含多行“代码”块,并且(无论如何在 bash 中)上述代码确实需要放在 3 个单独的行上。