如何在Windows上禁用emacs中的蜂鸣声

LWZ*_*LWZ 44 windows emacs beep

嗨,我是Emacs的新手,我在Windows机器上下载了GNU emacs.我刚刚完成了简短的教程,但每当我点击文件的开头/结尾时,我发现有一声嘟嘟声,在许多其他情况下,这对我来说有点令人不安.

我在网上搜索,发现有人说这个

(setq visible-bell 1)
Run Code Online (Sandbox Code Playgroud)

在我的.emacs文件中,但我不知道该怎么做.首先,我的.emacs文件在哪里?它是什么?或者还有另一种方法吗?我的意思是在emacs窗口菜单中有选项 - >自定义Emacs但我无法找到设置的位置.我觉得在那里找东西很难,除非你已经知道它在哪里.

phi*_*ils 88

您有几个选项,其中一个选项不需要您知道文件的位置; 但是在适当的时候,你几乎肯定会想要对文件进行更改,所以让我们从那里开始吧.

首先,我的.emacs文件在哪里?它是什么?

您还可以选择该文件的名称.~/.emacs是默认值,但它也可以是~/.emacs.el~/.emacs.d/init.el.(我个人更喜欢后者,以便将所有与Emacs相关的文件保存在同一.emacs.d目录下,但我们将使用默认值,您可以随时重命名该文件.)

首先,检查您是否有现有文件.

C-hv user-init-file RET

默认情况下,它会显示一个文件路径以结尾/.emacs(即使该文件不存在),但在(不太可能,在您的情况下)它结束的结果/.emacs.el或者/.emacs.d/init.el它将意味着您有一个现有的init文件那个位置.

使用以下适当的一个加载该文件:

  • C-xC-f ~/.emacs RET
  • C-xC-f ~/.emacs.el RET
  • C-xC-f ~/.emacs.d/init.el RET

或者你可以加载它,无论它在哪里:
M-: (find-file user-init-file) RET

然后,您只需将该行代码添加到文件中:

(setq visible-bell 1)
Run Code Online (Sandbox Code Playgroud)

保存文件:

C-xC-s

下次启动Emacs时,它将使用该设置.

您还可以通过在右C-xC-e括号后键入光标来立即评估设置.

既然你知道如何做到这一点,另一种方法是:

  • M-x customize-variable RET visible-bell RET
  • 单击"切换"按钮以打开设置.
  • 单击"保存以后的会话"按钮将其保存到init文件中.

然后,如果您查看init文件,您将看到它已添加到该(custom-set-variables ...)部分.

至于你的.emacs文件什么,它是一个Emacs Lisp(elisp)代码的个人库,当你启动Emacs时会自动加载和评估它.所有Emacs配置和定制都是用这种语言编写的(确实是编辑器本身的大部分).

您可以通过键入以下内容来阅读有关init文件和自定义Emacs的更多信息:

M-: (info "(emacs) Customization") RET
要么 C-hig (emacs) Customization RET

您可能需要先学习如何使用信息阅读器.从*info*缓冲区中,您可以键入h以启动其教程,并d返回顶级页面(顶部有一些有用的注释).

或者还有另一种方法吗?我的意思是在emacs窗口菜单中有选项 - >自定义Emacs但我无法找到设置的位置.

"特定选项" - >"可见钟"是该方法的答案.但请注意,通过这些菜单并不是所有内容都可用,因此并不总是答案,许多人完全禁用菜单栏,因为没有它就可以访问所有内容.(我更倾向于建议浏览菜单,以发现一些人们认为有用的选项,但确保你不依赖它们.)

我觉得在那里找东西很难,除非你已经知道它在哪里.

这在某种程度上确实如此,但Emacs的自我文档方面意味着即使你不知道在哪里看,你几乎总能找出你是否知道如何看.

不可否认,即使这样做也有一定的学习曲线,但我建议尽快学习Emacs的这方面.这将让你开始:

http://emacswiki.org/emacs/SelfDocumentation

  • 这是一个彻底的答案.非常感谢.我学到的东西比我的问题要多得多.至于.emacs文件名和位置,我的位于'c:/users/my_name/AppData/Roaming/.emacs'.我没有查看'〜/ AppData/Roaming /',这就是为什么我没找到它.再一次,你的回答帮助我开始使用emacs. (6认同)
  • 这是我在Emacs标签上看到的最好的之一.如果任何Emacs新用户遇到这个答案,他/她会很激动.非常感谢phils. (2认同)

mak*_*kim 24

要完全关闭警报,请使用:

(setq ring-bell-function 'ignore)
Run Code Online (Sandbox Code Playgroud)

放在HOME文件夹中的.emacs文件中