【问题标题】:How do I make Emacs start without so much fanfare?如何让 Emacs 开始时不那么大张旗鼓?
【发布时间】:2010-09-13 18:50:21
【问题描述】:

每次我启动 Emacs 时,我都会看到一页帮助文本和一堆建议我尝试本教程的消息。我该如何阻止这种情况发生?

【问题讨论】:

  • 或者(如果您认为显示的信息可能对您仍然有用,但希望能够快速摆脱它),请注意输入 q 会杀死该缓冲区。
  • emacs 27.1 有什么更新吗?显然下面的答案都不起作用

标签: emacs


【解决方案1】:

Emacs 有几个变量可以抑制这些操作。如果您编辑您的 emacs 控制文件 (.emacs) 并插入以下内容:

;; inhibit-startup-echo-area-message MUST be set to a hardcoded 
;; string of your login name 
(setq inhibit-startup-echo-area-message "USERNAME")
(setq inhibit-startup-message t)

这应该可以解决您的问题。他们基本上将禁止参数设置为 true 以防止您想要摆脱的行为。

【讨论】:

  • M-x describe-variable并输入user-login-name;传递任何显示为 arg 的内容。到函数作为常量字符串。假设它显示JoeCoder,然后在.emacs 中调用(setq inhibit-startup-echo-area-message "JoeCoder"),另外输入(setq inhibit-startup-message t)。哦,它也只在前一个 setq 独立时才有效,即在此调用中不应设置其他符号;原因见here
【解决方案2】:

将以下内容放入您的.emacs

(setq 禁止启动消息 t) (setq 禁止启动-回显区域消息 t)

【讨论】:

    【解决方案3】:

    您可以在 minibuffer 中自定义消息,因此无需大张旗鼓:

    ;; Hide advertisement from minibuffer
    (defun display-startup-echo-area-message ()
      (message ""))
    

    【讨论】:

    • 您的示例非常适合希望发布不同信息的用户。如果用户只想完全禁止消息,可以使用以下命令:(defun display-startup-echo-area-message () )
    【解决方案4】:

    将以下内容放入您的个人初始化文件(通常为~/.emacs.el):

    (setq inhibit-startup-message t)
    

    (或 (setq inhibit-startup-screen t) 使用旧 Emacs 版本。)

    您还可以关闭消息“有关 GNU Emacs 和 GNU 系统的信息,请键入 C-h C-a”。在带有变量inhibit-startup-echo-area-message 的echo 中,但是将其设置为t 是不够的;您必须将其设置为您的用户名。请参阅inhibit-startup-echo-area-message 的文档。

    【讨论】:

    • 是的,甚至 (setq inhibit-startup-echo-area-message (user-login-name)) 都不起作用,ffs。
    • @VebjornLjosa:当我把我的名字放在那里时,它会忽略 GNU 标准消息,但我会收到一条三行消息:"#[nil"\300C\207" [t] 2 ]"
    • @EmanuelBerg,是的,这三行是之前缓冲区中剩余的内容(即*Messages* 缓冲区中的最后一个条目)。
    • 好吧,但是使用修复没有意义,因为那个神秘的消息是三行,甚至比 GNU 更烦人。或者你有没有找到一种方法来规避这个问题,可能是通过在 Messages 缓冲区中附加一个空行?
    • @EmanuelBerg:在.emacs.el 中执行(delete-minibuffer-contents) 可能无济于事,因为您看到的消息可能是在稍后运行的挂钩之一中产生的。见gnu.org/software/emacs/manual/html_node/elisp/…
    【解决方案5】:

    如果您的 init 文件是字节编译的,请改用以下形式:

    (eval '(setq inhibit-startup-echo-area-message "YOUR-USER-NAME"))
    

    【讨论】:

      【解决方案6】:

      将以下内容添加到您的初始化文件中

      (setq inhibit-startup-message t
      inhibit-startup-echo-area-message t) 
      

      【讨论】:

        猜你喜欢
        • 2022-08-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-22
        • 1970-01-01
        相关资源
        最近更新 更多