【问题标题】:Trying to edit init.el to customize emacs尝试编辑 init.el 以自定义 emacs
【发布时间】:2011-11-20 17:21:13
【问题描述】:

所以我在尝试自定义 emacs 方面相对较新。但我真的需要尽快定制。制表符在 emacs 中是个痛点,因为它们是两个空格,之后用任何其他编辑器打开文本都会乱七八糟。

目前,我的 ~/emacs.d/init.el 文件中只有几行:

(setq load-path (concat (getenv "HOME") "/.emacs.d/"))

(set-scroll-bar-mode 'right)

(require 'linum)
(global-linum-mode t)

我在启动 emacs 时遇到错误:

Loading encoded-kb...done


An error has occurred while loading `/Users/mycomp/.emacs.d/init.el':

Symbol's function definition is void: set-scroll-bar-mode

To ensure normal operation, you should investigate and remove the
cause of the error in your initialization file.  Start Emacs with
the `--debug-init' option to view a complete error backtrace.

我尝试使用 --debug-init 选项对其进行处理,但我的 lisp 知识不足以帮助我找出问题所在。任何关于如何使其工作或将我重定向到一些关于编辑 init.el 文件的好教程的任何帮助都会非常有帮助(是的,我做过关于编辑初始化文件的谷歌教程,但每个教程都很糟糕)。

我假设我在左侧获取行号的代码也是错误的。有人可以帮我吗?非常感谢。

【问题讨论】:

  • 你使用的emacs版本可能不支持set-scroll-bar-mode。您是否添加了该行(如果有,您是从哪里得到的?),还是从另一台机器上复制过来的?
  • set-scroll-bar-mode 在 GNU Emacs 中可用,至少与 Emacs 20 一样老(超过 10 年)。不知道它是否也适用于早于 20 的版本。也许您使用的 Emacs 不是 GNU Emacs,而您使用的 Emacs 没有set-scroll-bar-mode。例如,不知道 XEmacs 是否有它。
  • 我认为在文本终端中使用 Emacs 时滚动条不可用。

标签: emacs customization


【解决方案1】:

我认为这行可能是问题所在:

(setq load-path (concat (getenv "HOME") "/.emacs.d/"))

首先,我不认为这是加载~/emacs.d/init.el 所必需的。其次,如果您确实想要将目录添加到您的load-path,您可能应该这样做:

(add-to-list 'load-path "~/.emacs.d/")

这段代码添加目录到load-path,你的代码只是用单个目录破坏它。

【讨论】:

  • 不,这并没有解决问题。我仍然得到同样的错误。它在设置滚动条模式下失败。如果有的话,你知道如何解决它吗?
  • 在文件帮助的顶部添加这一行:(需要'滚动条)?您使用的是 GNU Emacs 还是 XEmacs,您是否在终端中运行?
  • 我正在使用 Gnu Emacs。我添加了该行,它停止给我那个错误。是的,我在我的 mac osx 终端上运行它。 set-scroll-bar-mode 不是给 emacs 添加滚动条有助于避免使用 C-v 和 M-v 吗?
  • 您是否将 linum.el 添加到您的加载路径中?
  • 下载文件并复制到~/.emacs.d/
【解决方案2】:

使用“M-x apropos”和“M-x customize-apropos”。目前,当您想要自定义事物时,这些将使您的生活更加轻松。

例如,要自定义与滚动有关的内容,“M-x customize-apropos RET scroll RET”将为您提供所有您可以自定义且包含“滚动”的内容的列表。您可以通过搜索缓冲区来环顾四周并找到您想要的东西。如果您找到您想要的特定事物,通常会有它所属的组。您可以单击它,然后自定义这些特定值。确保保存设置。

您可能需要一段时间才能弄清楚事物的名称。如果您有想法,请尝试 apropos 搜索。如果这没有出现任何问题,谷歌可能会为您解决。

现在,不用担心破解 elisp。此方法会将值写入您的启动文件(可能是 .emacs?),如果您真的感兴趣,可以稍后查看并检查语法。我以这种方式定制我的大部分东西;当我尝试编写自己的钩子或函数时,我只会费心手动修改文件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-08-26
    • 1970-01-01
    • 2020-01-18
    • 2017-06-18
    • 2016-05-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多