2010-12-16 56 views
8

我想什么来实现的emacs的如何使用emacs的一个实例作为默认的文本编辑器? [Linux的]

  • 一个实例
  • 如果我打开从鹦鹉螺任何文本文件,它应该在当前Emacs实例
  • 如果我关闭emacs的开,它不应该很接近,只是将其隐藏

我有什么当前

  • 我设置emacs23在启动时启动
  • 我有(启动服务器)在我的init
  • 我离开emacs的开放
  • 我已经emacsclient作为默认的文本编辑

问题我遇到同时试图实现我想要的东西

  • emacs给出以下摹错误,如果我退出Emacs和尝试再次启动它

File error: Cannot bind server socket, address already in use

事情我想

更新:我再次尝试与stackoverflow链接,现在大部分工作。 但是,我希望能够做的是重新加载init文件,以便可以在不重新启动计算机的情况下更改我的init文件。有任何想法吗?

另外,如果服务器正在运行,并且我有emacs false-closed(请参阅emacs fu链接),我如何在不加载文件的情况下再次启动它?例如,你会跑相当于emacs23是,因为这不工作(见上面写错误)

回答

18
  • .emacs
  • 使用emacsclient "[email protected]" -a ""删除(start-server)来启动Emacs它是否正在运行或不

如果您将emacsclient "[email protected]" -a ""另存为脚本,例如在editor文件中,然后editor -c创建一个新的帧,editor -t在终端中打开新的帧,并且editor FILE在现有的帧中访问FILE。如果它没有运行,它会启动emacs服务器。

+0

我希望我可以upvote你1000倍。这是我需要在OSX上运行的信息。非常感谢 – 2010-12-17 10:26:14

+0

我的脚本收到错误信息:“-a或ALTERNATIVE_EDITOR不能是空字符串。”在窗户上。 – progician 2014-01-10 14:27:14

+0

@progician:[明确支持空字符串](http://www.gnu.org/software/emacs/manual/html_node/emacs/emacsclient-Options.html#emacsclient-Options)。如果它在Windows上不起作用;尝试设置'ALTERNATE_EDITOR = emacs --daemon'环境变量(从命令中删除'-a“”')。如果不起作用; [问一个单独的问题](http://stackoverflow.com/questions/ask)(这个问题是关于Linux的,尽管该解决方案在OSX上也是如此) – jfs 2014-01-10 14:35:32

1

However, something I would like to be able to do is to reload the init file, so that I can make changes to my init file without restarting the computer.

通过后面你正在寻找守护效果的方法阅读,他们都不排除只需加载你的init文件和编辑时后发出eval-buffer电话。

Also, if the server is running and I have emacs false-closed (see emacs fu link), how can i start it again without loading a file?

运行emacsclient(而不是emacs23)应该做的伎俩,我想。

2

我使用emacs --daemon启动emacs,以便emacs以守护进程模式启动。然后,我将EDITOR设置为emacsclient -t -a emacs -nw,它将打开一个附加到emacs守护程序的新终端emacs框架,并且如果没有运行emacs服务器,则会使用“无窗口”版本的emacs作为备用。为了在GUI中打开emacs窗口,编辑器命令是emacsclient -n -c -a emacs

如果您不想让一个项目的缓冲区与另一个项目的缓冲区混合,也可以在单台机器上运行多个emacs实例。关于这个问题,请看我的my post

1

嗯,不知道运行emacs作为客户端,但我经常修改并应用更改到我的.emacs文件,而不关闭emacs。

简单的编辑文件(在emacs之内或之外,哪个并不重要)。 M-x加载文件,emacs会询问你文件的路径和名称,如果是〜/ .emacs,这很容易。

键入路径和文件名,然后RET和emacs将重新加载您的更改。你打开的任何缓冲区仍然在那里。

相关问题