Emacs 17.2无法启用只读模式的问题及解决办法咨询
Emacs 17.2 以只读模式打开文件的解决办法
错误原因
你碰到的Unmatched '错误是因为命令行的引号使用不规范——你只在表达式末尾加了单引号,开头却没对应,导致shell解析时出现引号不匹配的问题。而且--eval参数要求把Lisp表达式用引号完整包裹,防止被shell拆分解析。
修复后的命令行写法
如果坚持用--eval方式,正确的命令应该是把Lisp表达式用单引号完整包裹:
emacs test --eval '(setq buffer-read-only t)'
要是你的shell环境对单引号有特殊处理,也可以改用双引号包裹:
emacs test --eval "(setq buffer-read-only t)"
更简便的替代方法
其实Emacs自带直接开启只读模式的启动参数,不用写Lisp表达式,更省心:
- 用
-R短参数:emacs -R test - 用
--readonly长参数:emacs --readonly test
这两种方式都能直接以只读模式打开指定文件,完全避开shell引号解析的问题。
内容的提问来源于stack exchange,提问作者Malede Berhanu
相关产品推荐
相关产品推荐

