【问题标题】:GNU Emacs customization - no windowGNU Emacs 定制 - 无窗口
【发布时间】:2010-11-11 16:10:59
【问题描述】:

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

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

我应该如何做到这一点?

干杯!

编辑:感谢所有答案!我必须给最完整的检查,虽然它当然是建立在前面的。

【问题讨论】:

    标签: linux emacs customization


    【解决方案1】:

    基于 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/ 位)。

    【讨论】:

    • 好@sepp!这完全对我有用,谢谢:) 我还更改了我的 nautilus 选项,以始终在双击时打开可执行文件(而不是询问:'run-open-else ...?')。大大改善了开发环境。干杯
    【解决方案2】:

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

    但通常,您会希望运行单个 Emacs 进程并安排在已运行的 Emacs 进程内的新缓冲区中打开文件。

    执行此操作的方法是在您第一次启动 Emacs 时启动 Emacs server(例如,通过运行 server-start 命令,或将 (server-start) 放入您的 .emacs)并安排 Gnome 运行emacsclient program

    【讨论】:

    • @Gareth 不错的方法。我在 .emacs 文件中添加了“(服务器启动)”。您能否为 emacsclient 提供相当于 Johan 的 'gnome-terminal -e "/usr/bin/emacs -nw %F"' 行?我试过 'gnome-terminal -e "emacsclient -nw %F"' 没有成功。干杯!
    • emacsclient documentation-nw 选项请求 emacsclient 为您启动一个新的 Emacs。你可能只想要普通的旧emacsclient %F(没有gnome-terminal,没有-nw)。
    • 好吧,我会玩弄 emacsclient 的选项。但是,您的最后一个建议(emacsclient %F)要求我已经运行了一个 emacsclient 实例。没什么大不了的,但如果解决方案通过双击文件来工作,无论emacsclient是否已经在运行,那就太好了。谢谢!
    • 查看 --alternate-editor 参数,它告诉emacsclient 如果没有 Emacs 服务器正在运行,该怎么办。所以:emacsclient --alternate-editor "gnome-terminal -e 'emacs -nw %F'" %F
    • @Morlock:您可以编写一个运行gnome-terminal -e "emacs -nw $@" 的小shellscript,然后使用emacsclient -a my_emacs_start_script %F 作为打开文件的命令。
    【解决方案3】:

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

    /usr/bin/emacs %F

    gnome-terminal -e "/usr/bin/emacs -nw %F"

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

    【讨论】:

      猜你喜欢
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 2010-10-10
      • 2014-03-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多