【问题标题】:How do you learn proper Emacs? [closed]你如何学习正确的 Emacs? [关闭]
【发布时间】:2010-10-04 21:10:43
【问题描述】:

我即将学习 Emacs,已完成教程并借用 O'Reilly 的 Emacs 书籍。但问题仍然是——你如何学习好的 Emacsworkflow?我猜,您不会像使用 Emacs 那样使用 Emacs,例如,Vim

这个问题对我来说似乎很重要: - Where can I find a video of a professional using Emacs?

【问题讨论】:

标签: emacs editor workflow


【解决方案1】:

我同意这里的其他海报,你只需要使用它!我是这样做的:

一旦我掌握了最基本的东西(可以在缓冲区之间切换、打开/保存文件等),我就打印了一张参考卡并放在手边。 This is a good one。回顾一下,这样你就知道上面有什么,然后每当你发现自己重复做卡片上的事情时,开始使用快捷方式!在不知不觉中,您将记住相当多的命令。但请记住,可能没有人使用 emacs 可以做的所有事情。

当您最终发现自己重复执行某项没有快捷方式的操作时,正是学习键盘宏的好时机。一旦你得到它们,你会发现它们无处不在!从那里开始编写 elisp (如果你是程序员)是一个短暂的跳跃。

emacs 的优点在于您不需要“emacs 工作流程”,emacs 可以围绕您的工作流程工作!

【讨论】:

  • 参考卡片的链接已失效。
  • 修复了断开的链接。我把它作为我自己网站上的副本的链接,因为我在任何地方都找不到原始网站。如果有人知道,我很想知道它是否已更新。
  • @Brad 感谢您提供出色的参考卡!
  • @Brad,谢谢,它看起来真的很有用。
  • 由于你的有一些 ESS 特定的东西,它显然不同于 the one which ships with Emacs。但是,它也不等同于ess.r-project.org/refcard.pdf。对于通用参考卡,另请参阅emacswiki.org/emacs/ReferenceCards
【解决方案2】:

您如何为任何事情学习“良好的工作流程”?通过使用它,了解它,让它成为你的。没有“正确”使用 Emacs。

至于了解它:询问 Emacs -- 使用它的帮助系统。这也有帮助:http://www.emacswiki.org/emacs/EmacsNewbieWithIcicles

【讨论】:

    【解决方案3】:

    我不敢相信没有人提到这一点,但是阅读与 Emacs 捆绑在一起的信息页面是了解晦涩功能的好方法。每当您需要停止编码时,请点击M-x info 并选择一个随机页面进行阅读。你的 emacs 能力会以惊人的速度提高。

    了解 emacs 的自我记录性如何帮助您工作也很重要。比如说,你想知道如何缩放字体大小。你可以问 emacs,而不是打断你的流程并在这里、或在 IRC 或 Google 上提问!只需点击C-h a (M-x command-apropos) 并输入搜索词,在我们的例子中为scale。如果有匹配的函数,它们的名称、键绑定和文档将出现。有,现在你刚刚发现了text-scale-increasetext-scale-decrease

    还有其他值得学习的自我文档功能C-h m 将告诉您当前主要和次要模式下可用的键绑定和命令。这是发现您不知道的功能的好方法。

    另一种“通过渗透学习”的方法是 M-x customize-group 了解您经常使用的模式。 (customize 是几乎所有模式都支持的交互式配置编辑器。)

    最后要做的是学习 Emacs Lisp。使用现有工具很好,但有时您需要自己的工具。如果你试图避免学习 Lisp,你将总是被一些不太正常的东西所困扰,这是一种耻辱。

    Emacs 是一个很好的自定义环境。 Emacs 包含两本 Lisp 手册,可通过 M-x info 查看。它是自记录的,所以你可以说C-h fM-x describe-function 来获取任何函数的文档。你甚至可以按TAB ENT 跳转到该函数的源代码,看看它是如何实现的。当您认为“我希望我有类似 foo 的东西,但只是略有不同”时,这很棒。您可以阅读foo 的实现方式,在*scratch* 缓冲区中进行更改,然后查看您是否喜欢更改。没有编辑/编译/测试周期。您按下一个键,您的 emacs 会话立即具有您刚刚编写的功能。

    您在学习 emacs 上付出的努力越多,emacs 就越能让您的工作更轻松。

    【讨论】:

    • 我还发现C-h b 很有帮助,尤其是在开始时。它在主窗口旁边的单独窗口中列出了所有键绑定。您可以使用C-x o 在主窗口和此帮助窗口之间来回移动,一旦进入帮助窗口,您就可以使用C-s 搜索某个功能,比如说“删除”。您很可能会找到您想要的绑定,并查看类似绑定的绑定(例如删除/删除单词、段落等)。
    【解决方案4】:

    如前所述,最好的建议是明年只使用 Emacs。一旦你开发了你的手指记忆,事情就会变得容易得多。

    【讨论】:

      【解决方案5】:

      我的建议是停止使用除 Emacs 之外的任何东西,当你遇到问题时,看看你是否可以在 Emacs 中解决它,然后退回(如果你没有时间或者它根本不起作用)。至于工作流程,它与您通常的工作几乎相同。即对于正常的 ide 会话,您可以正常打开/编辑文件,然后正常提交(在 C-x v v 中)。

      【讨论】:

        【解决方案6】:

        从以前的 Amiga 时代开始,我就在我目前正在开发的所有平台上使用 emacs。

        使用 emacs 的最佳方式是好奇心。我仍然经常使用 apropos (C-h a) 和 M-x(用于长函数名而不是键绑定)来查找功能。

        “正确使用”Emacs 的一个关键概念是,学习非常简单的 elisp(lisp 的简单派生)并编写自己的小助手(自己的注释样式、下划线、模板)并知道在哪里寻找更改值(制表符大小、编译器、电子邮件)

        第三件事:一切都在 emacs 中:我使用 dired(目录编辑器)来浏览文件。我为所有文本文件使用了很多缓冲区(每种类型的文件(c、ruby、list、sql、latex、...)都有适当的模式),这些缓冲区在退出 emacs 时存储并在调用时恢复。我从 emacs 启动编译器并使用跳转到错误功能。

        宏是日常生活(浏览代码并在途中更改)。

        我喜欢图片模式,它允许通过替换向下键入,这使得重新编号常量块变得容易(好老的 c #defines))

        有一座大山要爬,但如果你已经登顶,你可以从脚下看到整个世界,再也不想错过这种体验。我知道,周围有很多优秀的编辑器(我自己通过 Eclipse 工作)

        【讨论】:

        • 虽然,您可能更喜欢对齐正则表达式和矩形编辑而不是图片模式。
        【解决方案7】:

        说实话,我所做的只是学习我需要的键绑定。我没有充分发挥 emacs 的潜力,因为我不需要它的全部潜力。我的建议是只学习你需要的东西,不要担心你不需要的东西。每天学习一个新的键绑定,大约 300 年后你就会全部了解它们;)

        【讨论】:

          【解决方案8】:

          你可以看看 Bram Molenaar 关于高效文本编辑的演讲,http://video.google.com/videoplay?docid=2538831956647446078&ei=EqiGSau8KZ-QiQLi-Nn8Cg&q=bram+molenaar+editing

          虽然他是个 vim 人(他写的),但您可能会了解如何最好地使用适用于 emacs 的文本编辑器变得更加熟练。

          【讨论】:

            【解决方案9】:

            一旦您掌握了基础知识(打开/关闭文件、导航、基本编辑),就可以使用它。与许多其他工具一样,熟能生巧......

            不过,我会留出一些时间来改进您目前使用编辑器的方式,但这是您正常工作流程的一部分,而不是仅仅为了它而去切线并学习东西。

            我发现一些有用的资源是EmacsWikiPlanet Emacsen blog。我同时使用这两种方法,主要是使用 Planet Emacsen 来获得“灵感”,然后浏览 EmacsWiki 并在那里搜索特定主题。我发现,除非您至少对要查找的内容有一个模糊的概念,否则可用的信息只会让您不知所措,而不是真正有用。

            更不用说 StackOverflow 上有一些非常有用的资源,例如 this question here。 Emacs 是一个非常强大的工具,它的功能往往比一个人需要的要多得多,但最终它允许您准确地挑选和选择那些需要的部分。

            【讨论】:

            • this question here 现在似乎已“出于节制的原因从 Stack Overflow 中删除”。原始链接发布到一个问题,该问题询问“哪些是你不能没有的 gnu emacs 模式扩展”。我做了一个快速的谷歌搜索并想出了this 来替换损坏的链接。
            【解决方案10】:

            您无需学习 emacs 工作流程。一旦你完成了本教程并掌握了基本知识,你将不得不采取某种程度的一夫一妻制,并且只使用 Emacs。最终你会想到你真正希望存在的功能;大多数时候其他人也会有,解决方案只是一次搜索!随着时间的推移,你会情不自禁地学习,最终你会学到足够的东西来开发自己的个人工作流程。

            如果您希望加快这一进程,Emacs wiki 提供了各种技巧,但实际上最好的方法就是使用 Emacs 做事。

            【讨论】:

              【解决方案11】:

              这就是 Emacs 的强大之处,您可以随心所欲地使用它。您只需根据自己的喜好进行配置即可。

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 2010-10-02
                • 2010-09-21
                • 2023-02-26
                • 1970-01-01
                • 2010-12-07
                • 2010-09-06
                • 1970-01-01
                相关资源
                最近更新 更多