代码之家  ›  专栏  ›  技术社区  ›  Rob Kam Bayard Randel

如何快速开始使用和学习Emacs[已关闭]

  •  46
  • Rob Kam Bayard Randel  · 技术社区  · 16 年前

    使用Emacs有各种各样的优点,但对于熟悉常用Win32应用程序的人来说,它有一个类似墙的学习曲线。对于大多数其他编辑器,您可以开始使用它们,然后在使用过程中了解它们的其他特性和增强功能。

    如何直接使用Emacs,以达到您实际上更喜欢使用Emacs而不是其他编辑器或应用程序的目的?

    编辑-尝试澄清问题:我已经完成了教程,阅读了一些文档,等等。不久之后,当我想快速编辑一些文本时,使用另一个编辑器就更容易了,我已经知道了。我需要做些什么,这样我不仅不会选择另一个更简单的编辑器,而且我更喜欢使用Emacs,以及如何尽快到达这里?Emacs的训练轮(如果有的话)是什么?

    10 回复  |  直到 11 年前
        1
  •  44
  •   Peter Mortensen icecrime    11 年前

    学习如何使用最重要的事情 Emacs

    好,好,好。这是一个愚蠢的回答,也是一个重复,但这是真的。如果你启动Emacs,然后想“我怎么能在我的源代码树中找到‘foobar’这个词的每个实例?”那么你能做的最糟糕的事情就是命中它 中高音 + 标签 访问谷歌。

    认真地

    学习帮助系统及其工作原理是您能做的最好的事情。很高兴能找到C-h,然后突然就能得到你需要的所有信息,就在你的指尖。

    下一个最好的方法是安装一个很棒的小软件包,名为 Icicles 它有一些非常groovy的完成函数。安装后,只要知道,只要minibuffer请求某种输入,现在就可以使用正则表达式。

    转移 + 标签 冰柱会启动,找到每一个前缀为“find”的命令。或者,你可以做M-x。 发现 它会给你任何带有find的命令。

    建立一个备忘单。只要把一个保存的缓冲区放在一个有你经常使用的所有键盘快捷键的地方就行了。把那些你熟记在心的去掉,然后重新挑选。在大多数情况下,当您执行M-x命令时,消息缓冲区会告诉您该命令的键盘快捷键是什么(如果有)。

    学键盘宏。

    学Emacs。 Lisp .

    Org-mode ,甚至更好。)

        2
  •  17
  •   David Nehme    16 年前
    • 花20分钟运行教程

    这将使您达到高效的程度(您将阅读的“meta”键可能是Escape或alt)。

        3
  •  14
  •   Steven Huwig    16 年前

    我认为最容易找到一两个在Emacs中效果最好的“杀手级应用”。对我来说,这是Oracle的SQL编辑和交互模式。一旦你已经在为这个杀手级应用程序使用Emacs,那么在Emacs中打开其他文档而不是另一个编辑器将更有吸引力。

    潜在杀手级应用:

        4
  •  9
  •   eschercycle    16 年前

    学习有效地使用Emacs本质上是一个缓慢的过程,但它是值得的。

    为了更容易找到Emacs的内部结构,请将以下内容添加到您的.Emacs中:

    (defalias 'ap 'apropos)
    

    然后,当您想查看是否有执行“something”的命令时,请键入“[Alt-x]ap[enter]something[enter]”。Emacs有自己的东西名称,所以有时候很难找到东西(“yank”?说真的?像其他人一样叫它“cut”!)

    “[Ctrl-h f]函数名[enter]”查找该函数的帮助。

    “[Ctrl-h m]”显示有关当前模式的详细信息,如特定于该模式的键绑定。

    学习使用Ctrl-s和Ctrl-r进行增量搜索。 全部的 文本编辑器需要具有此功能。

    向.emacs添加键绑定,如:

    (define-key global-map (kbd "M-z") 'redo)
    (define-key global-map (kbd "C-z") 'undo)
    

    获取redo.el包以减少Emacs的重做。

    iswitchb模式是无价的。它可以让你一次打开几十个缓冲区,并在眨眼之间切换。设置iswitchb并添加到.emacs:

    (iswitchb-mode)
    (define-key global-map (kbd "M-RET") 'iswitchb-buffer)
    

    要计算emacs lisp表达式,请在缓冲区中键入表达式,将光标放在它的后面,然后键入“[Ctrl-x Ctrl-e]”。这使您可以轻松地尝试不同的自定义设置。

    记住,在键入这样的序列时,不必放开ctrl键。

    使用“发生”函数查看缓冲区中字符串出现的位置。以下是一些方便的函数和键绑定:

    (defun word-at-point ()
      (thing-at-point 'word)
      )
    
    (defun word-at-point-or-selection ()
      (if mark-active
        (regexp-quote (buffer-substring (mark) (point)))
        (concat "\\")
        )
      )
    
    (defun find-word-at-point ()
      (interactive)
      (occur (word-at-point-or-selection))
      )
    
    (define-key global-map (kbd "C-o") 'find-word-at-point)
    
    (define-key isearch-mode-map (kbd "C-o")
      (lambda ()
        (interactive)
        (let ((case-fold-search isearch-case-fold-search))
          (occur (if isearch-regexp isearch-string
                   (regexp-quote isearch-string))))))
    
        5
  •  5
  •   Community CDub    8 年前

    我对如何加快速度的想法:

    1. 找到另一个Emacs用户,每天观察他们几分钟
    2. 让Emacs用户观察您(并提供反馈)
    3. 订阅 planet emacsen feed 查看其他Emacs人员正在学习什么
    4. 遵循 emacs tip of the day twitter
    5. 试着回答别人的问题 Emacs questions 如此

    我已经使用Emacs超过15年了,通过做上面的事情,我每天都能学到一件新东西。

        6
  •  4
  •   Will Hartung    16 年前

    就像@Claudiu说的,用它就行了。就这样慢慢来,让你的需求驱动你的学习曲线。

    最终你会到达一个你“知道足够危险”的地步,而不是真正掌握环境。没关系。因为在这一点上,你可能会很有效率。你将拥有基本的技能和工具。

    随着时间的推移,你会遇到那些你每天都在做的事情,而这些事情你已经厌倦了,以至于你不得不花时间去寻找一种“更好的方法”。通常情况下,你的基本技能足以应付,足以让你花在其他道路上的时间(可能是未知的)不值得花费,特别是对于一些罕见的东西。

    但是,你可能有空闲时间,或者任务可能足够大,有理由深入研究。

    在这一点上,您将更多地成为Emacs专家,而不是熟练的用户。

    虽然我个人不再使用Emacs(而是依赖IDE),但我要说的是,虽然Emacs非常复杂,但您只需要知道一小部分就可以让它变得有用和有趣。我还要说,我从来没有“在Emacs上尖叫”,而我一直在IDE上尖叫。是的,Emacs所做的比我的IDE所做的要少,但我认真地说,我可能值得花时间回到它,停止尖叫。

    我只是觉得Emacs比我的IDE更具“确定性”,我的IDE喜欢时不时地进入lala land,或者需要重新启动,或者诸如此类。

    我从未亲自崩溃过Emacs(有人会说这意味着我使用它不够努力…)

        7
  •  2
  •   T.E.D.    14 年前

    使用emacs进行基本文本编辑并不比使用记事本进行编辑复杂。只需像使用记事本一样使用它,但当你浏览菜单时,请注意键盘上的快捷键。慢慢地,你会开始拾起一些东西。当你想做某件事而不知道如何做时,可以从菜单中下拉选择帮助,就像其他编辑器一样。

    我想我建议的唯一“诀窍”是,打开文件进行编辑后,尝试ctrl-h m以调出在该缓冲区模式下工作的键盘绑定列表。

        8
  •  1
  •   Claudiu    16 年前

    我的建议是:

    • 学习最基本的知识(如何键入、保存文档、启用语法高亮显示、可能是复制和粘贴)。你可以在网上找到如何做这些(谷歌“emacs教程”也许)
    • 开始使用它。

    每当你希望自己知道如何做某事时,就去看看如何去做。你可能需要把同样的东西翻3-4遍才能找到它,但是你会学会的。

    继续这样做。一开始它会让人恼火,但之后你会习惯它,然后你甚至会喜欢使用它!

    (免责声明:我个人只使用另一个编辑器)。

        9
  •  1
  •   Jack Jack    16 年前

    打开icomplete模式,您将经常看到在四处查看时看起来很有用的函数。

    (icomplete-mode t)
    

    在.emacs文件中。

    C-HF将允许您在docstring中查找函数,C-HV将对变量执行相同的操作。有了icomplete,这对于探索是非常好的。

        10
  •  1
  •   ocodo    14 年前
    1. 目的是将Emacs定制到您想要的编辑器中,这是使用Emacs的最大优势,它将帮助您了解它的所有特性以及如何扩展它。

    2. 要高兴的是,相对而言,学习Emacs要容易得多,这要归功于这里的社区和其他地方,如EmacsWiki.:)

    3. 从这一点开始工作。。。a) 键绑定和自定义。b) 宏和宏编辑器。c) Elisp和您自己的自定义库。

    还值得注意的是,将Emacs设置为像更现代的应用程序一样工作可能会很痛苦,您需要运行Emacs服务器和使用Emacs客户端等操作。