让emacs永远不会打开一个新的框架

时间:2013-09-15 08:01:38

标签: emacs window

如何将emacs设置为永不创建任何新帧。如果我想要帧,我会从emacs内部做到这一点。

令人讨厌的是,每当我从emacs外部的文件管理器中单击一个文件时,这就会打开一个全新的emacs实例,并且所有的加载时间都很长。

打开一堆文件,每次花费5秒钟才能最终加载不是很方便。 所以我想要做的是:每当我点击文件管理器上的文件时,我希望该文件在已经作为新缓冲区运行的emacs的一个实例中打开。

我该怎么做?

在Fedora 19上使用emacs 24.3.1和Gnome 3.8.4

2 个答案:

答案 0 :(得分:2)

您想要启动emacs的单个实例(应使用(server-start)中的~/.emacs启动服务器),然后使用emacsclient。你可能应该

  export EDITOR=emacsclient

例如你的~/.bashrc

请参阅invoking emacsclient(在Emacs文档中)和EmacsClient(在Emacs Wiki中)。

答案 1 :(得分:2)

这就是我的所作所为。我有Ubuntu,但我很确定 侏儒也是uses /usr/share/applications/

这是我的/usr/local/share/applications/emacsclient.desktop

[Desktop Entry]
Name=Emacsclient
GenericName=Text Editor
Comment=View and edit files
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=/usr/local/bin/emacsclient %F
Icon=emacs
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupWMClass=Emacs

这是我的/usr/local/share/applications/emacs.desktop(仅为完整性):

[Desktop Entry]
Name=Emacs
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x-tcl;text/x-tex;application/x-shellscript;text/x-c;text/x-c++;
Exec=emacs %F
Icon=emacs
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupWMClass=Emacs

更新这些快捷方式而不重新启动的命令是:

sudo update-desktop-database

现在,您的文件管理器中应该有一个Emacsclient条目“打开方式”对话框。 只需单击鼠标即可在emacs中打开关联和文件。 只需确保您的~/.emacs

(require 'server)
(or (server-running-p) (server-start))