当使用“ open -a”打开时,Emacs在新框架中打开文件
我希望能够从命令行调用Emacs,并在图形Emacs未运行时启动它,或者访问已经运行的Emacs中的文件。我尝试执行此操作emacsclient,我知道这是“正确”的方法,但是在OS X上我遇到了很多问题,它会随机崩溃,或者emacs --daemon在关闭或重新启动计算机的过程中挂起,和一般的脆弱感 尽管我想让它正常工作,但目前open -a实际上效果要好得多,除了这个问题,我将在下面进行描述: open -a像这样使用: $ open -a Emacs file.txt 如果Emacs不在运行,它将启动Emacs并访问该文件。但是如果我不在当前缓冲区时执行此*scratch*操作,则会在新框架(即新系统窗口)中打开文件。 这是一个示例会话: $ open -a Emacs file.txt 这将启动Emacs并打开file.txt,因此其中有一个带有此缓冲区的框架。如果我切换到*scratch*缓冲区,并执行以下操作: $ open -a Emacs file1.txt 它将在同一框架中打开此文件。现在有一个打开此文件的框架,如果我这样做: $ open -a Emacs file2.txt 它将打开一个新框架,从而导致同时打开两个框架。 我尝试使用--args切换到open,将命令行参数修改为Emacs ,但是对于随后的调用似乎不起作用,例如: $ open -a Emacs --args --eval='(print "foo")' $ open -a Emacs --args --eval='(print "bar")' 这只会在消息缓冲区中打印“ foo”……第二次将Emacs带到前台,但没有消息被打印。 …