GNU Emacs自定义 – 无窗口

我正在切换到我的python和bash脚本的GNU emacs。 我非常喜欢这个,但是我不喜欢emacs的X-window部分。 因此,我总是使用emacs -nw <my_file>编辑我的文件。 但是,当我将.py和.sh文件与emacs相关联时,当我从gnome-nautilus(Ubuntu 10.10)双击它们时,最终以X-window模式打开emacs。

我想知道的是:当我双击我的文件时,我应该添加到我的.emacs文件中以便在没有X-window的情况下使用emacs? 注:我希望emacs打开一个terminal,可能根据我的规格调整它(已经有一个.sh脚本),启动自己并打开我的文件。

我应该如何做到这一点?

干杯!

编辑 :感谢所有的答案! 我必须把支票给最完整的,但当然它是build立在前面的。

建立在Gareth的答案上:

要在现有的emacs会话中打开一个文件(如果有的话),但是在终端中打开一个新文件(如果没有的话),可以执行以下操作:

  1. 添加(server-start)到您的.emacs
  2. 使用以下内容创建脚本run_emacs

     #!/bin/bash gnome-terminal -e "emacs -nw $@" 

    并使其可执行。

  3. 设置你的应用程序打开python和bash文件为emacsclient -a /path/to/run_emacs %F (如果你把run_emacs放在$PATH某个地方,你可以省略/path/to/位)。

Johan解释了如果你想为每个文件启动一个单独的Emacs进程该怎么做。

但通常情况下,您将希望运行一个Emacs进程,并安排在已经运行的Emacs进程中的新缓冲区中打开文件。

要做到这一点,首先要启动Emacs服务器 (例如,通过运行server-start命令或将(server-start)放入.emacs )并安排Gnome运行emacsclient程序来启动Emacs服务器 。

如果您使用gnome,则需要更改emacs快捷方式的命令行选项

/ usr / bin / emacs%F

gnome-terminal -e“/ usr / bin / emacs -nw%F”

这可以通过右键单击应用程序菜单,选择编辑菜单。