2012-05-11 56 views
33

嗨,我是Emacs的新手,我在Windows机器上下载了GNU emacs。我刚刚完成了简短的教程,但是我发现每当我打开文件的开始/结束时以及在许多其他情况下都会发出蜂鸣声,这对我来说有点令人不安。如何在Windows上禁用emacs中的蜂鸣声

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

(setq visible-bell 1) 

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

回答

65

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

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

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

所以首先检查看看如果你有一个现有的文件。

vuser-init-fileRET

默认情况下,它会告诉你在/.emacs结束(即使该文件不存在)的文件路径,但在(不太可能,你的情况)如果以/.emacs.el/.emacs.d/init.el结尾,那么这意味着您在该位置有一个现有的init文件。

负载与下述的合适的一个文件:

  • C-XC-F~/.emacsRET
  • C-XC-F~/.emacs.elRET
  • CX比照~/.emacs.d/init.elRET

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

然后,你可以简单地添加该行代码到文件:

(setq visible-bell 1) 

保存文件:

C-XC-S

,下一次你启动Emacs,它会使用该设置。

您还可以通过与右括号后的光标输入C-XC-è立即评估设置。

现在你知道该怎么做,另一种方法是:

  • M-Xcustomize-variableRETvisible-bellRET
  • 点击 “切换” 按钮打开设置上。
  • 点击“Save for future sessions”按钮将其保存到init文件中。

如果你再看看你的init文件,你会发现它已被添加到(custom-set-variables ...)部分。

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

你可以阅读更多关于init文件和定制的Emacs中内置的手册,通过键入:

M-:(info "(emacs) Customization")RET
我克(emacs) CustomizationRET

您可能需要先了解如何使用信息阅读器。从*info*缓冲区中,您可以键入h开始教程,并且d返回顶层页面(顶部有一些有用的注释)。

或者有另一种方法可以做到吗?我的意思是在emacs窗口菜单中有Options - > Customize Emacs,但是我找不到设置的位置。

“Specific Option” - >“visible-bell”是该方法的答案。但是请注意,并非所有菜单都可以通过这些菜单获得,所以这并不总是答案,很多人完全禁用了菜单栏,因为没有菜单栏就可以访问所有菜单。 (我更倾向于建议浏览菜单作为发现人们认为有用的一些选项的方式,但请确保您不依赖于它们。)

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

这当然真实的程度,但Emacs的的个人文档方面意味着,即使你不知道哪里看,你几乎总是可以找到,如果你知道如何看。

不可否认的是,即使这样做也有一定的学习曲线,但我建议尽可能早地学习Emacs的这方面知识。这将让你开始:

http://emacswiki.org/emacs/SelfDocumentation

+4

这是这样一个完整的答案。非常感谢。我学到的不仅仅是我所要求的问题。至于.emacs文件的名称和位置,我的位于'c:/users/my_name/AppData/Roaming/.emacs'。我没有查看'〜/ AppData/Roaming /',这就是为什么我没有找到它。再一次,你的回答帮助我开始使用emacs。 – LWZ

+0

不客气。我希望你喜欢学习使用Emacs。 – phils

+2

这是我在Emacs标签上看到的最好的之一。如果任何Emacs新用户遇到这个答案,他/她会感到兴奋。非常感谢phils。 – kindahero

11

要完全关闭警报使用:

(setq ring-bell-function 'ignore) 
在你的.emacs文件

这是摆在您的个人文件夹