在我的.tcshrc文件中以只读模式在Linux上为emacs创建别名
让你知道这是我的第一篇帖子 基本上,我正在尝试在.tcshrc文件中添加一个别名(或其他内容),以便以emacs只读模式打开文件(无需每次都在下面键入blurb)。我发现了这一点——但由于tcsh不支持函数(我认为),我不能使用这种方法 以只读格式打开emacs的命令行文本如下: emacs文件名--eval'(setq缓冲区只读t)' 有什么想法吗 谢谢在我的.tcshrc文件中以只读模式在Linux上为emacs创建别名,linux,emacs,command-line,Linux,Emacs,Command Line,让你知道这是我的第一篇帖子 基本上,我正在尝试在.tcshrc文件中添加一个别名(或其他内容),以便以emacs只读模式打开文件(无需每次都在下面键入blurb)。我发现了这一点——但由于tcsh不支持函数(我认为),我不能使用这种方法 以只读格式打开emacs的命令行文本如下: emacs文件名--eval'(setq缓冲区只读t)' 有什么想法吗 谢谢 P.我将创建名为emacs ro的脚本,并将其放置在您的路径中 #!/bin/bash emacs "$@" --funcall toggl
P.
我将创建名为
emacs ro的脚本,并将其放置在您的路径中
#!/bin/bash
emacs "$@" --funcall toggle-read-only
或者你也可以使用你的选择
--eval '(setq buffer-read-only t)'
tcsh别名中的引号和括号可能有问题,因此Satish的答案中的--funcall toggle read only
可能比--eval
更容易使用。要在文件名后插入参数,可以使用\!:1第一个参数的表达式:
alias emacs-ro emacs \!:1 --funcall toggle-read-only
根据Satish的回答,但有人建议,如果您使用的Emacs>=24.3,您可以并且应该使用只读模式
,而不是切换只读模式
,后者仍将“起作用”,但现在已经过时
#/垃圾箱/垃圾箱
emacs“$@”-funcall只读模式
很棒的东西。谢谢用funcall代替eval解决了这个问题!。。。除非您使用它打开只读文件,在这种情况下,缓冲区将切换为可写。将缓冲区显式设置为只读是一个更好的解决方案。