gpt4 book ai didi

emacs - 学习 Elisp - 阅读源代码的最高质量库是什么?

转载 作者:行者123 更新时间:2023-12-03 15:01:27 25 4
gpt4 key购买 nike

在学习一门新的编程语言时,“阅读源代码”是专家们普遍接受的建议。然而,对于像 emacs 这样庞大的系统,由许多人构建了几十年,初学者很难弄清楚哪些库是惯用的 Elisp 编程的最佳示例。因此,我想就以下标准提出一些建议:

  • 惯用的 elisp 编程风格
  • 遵守 emacs 编程指南
  • 根据 emacs 指南巧妙地使用 cl-package
  • 巧妙使用eieio-package
  • 单个.el 文件库的示例性组织
  • 多文件/多包库的示例性组织
  • 您认为重要的任何标准

  • 给出推荐某些库进行自动教学研究的原因肯定会为 Emacs lisp 编程的初学者提供信息。

    最佳答案

    正如 Trey 所说,使用 Emacs 本身的 elisp 来学习。我通常做以下两件事之一:

    1) 如果我想了解如何使用特定功能,我会提出 dired窗口并执行:

    % g foobar

    在哪里 foobar是我有兴趣学习如何使用的函数的名称。这将标记所有使用 foobar 的文件然后我去搜索它们,看看如何调用它,在什么上下文中调用它等等。

    2)如果我想弄清楚如何做某事,并且我知道一个做类似事情的模式,我会去看看那个模式的源代码,看看他们是怎么做的。如果您不知道从哪里开始,但您知道如何执行您想要执行的操作,那么一个方便的做法是通过键绑定(bind)查找它。例如,在 dired缓冲区,请执行以下操作:
    C-h k % g

    这将带来:
    % g runs the command dired-mark-files-containing-regexp, which is an
    % interactive compiled Lisp function in `dired.el'.

    It is bound to % g, <menu-bar> <regexp> <mark-cont>.
    (dired-mark-files-containing-regexp regexp &optional marker-char)

    Mark all files with contents containing regexp for use in later
    commands. A prefix argument means to unmark them instead.
    `.' and `..' are never marked.

    点击 dired.el在上面的文本中(在 emacs 缓冲区中)将打开源代码并带您直接进入该函数定义。这是通过示例学习的好方法。

    不要忘记 elisp 调试器,它可以作为一种方式来准确查看正在发生的事情并随着代码的逐步执行而跟进。您可以使用 edebug-defun 标记调试代码然后像往常一样调用它,此时 emacs 将引导您完成代码。

    关于emacs - 学习 Elisp - 阅读源代码的最高质量库是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5283369/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com