如何快速开始使用和学习Emacs

Rob*_*Kam 47 emacs

使用Emacs有各种各样的优点,但对于那些对通常的Win32应用程序感到满意的人来说,它带有类似墙的学习曲线.对于大多数其他编辑器,可以开始使用它们,然后随时了解其他功能和增强功能.

如何直接使用Emacs,目的是达到你真正喜欢使用Emacs而非其他编辑器或应用程序的地步?

编辑 - 尝试澄清问题:我已经完成了教程,阅读了一些文档等等,然后很快我想快速编辑一些文本后,我就更容易使用另一个编辑器,我已经知道了.我需要做什么,这样我不仅可以选择其他更简单的编辑器,而且我实际上更喜欢使用Emacs,以及如何尽快到达这里?如果是Emacs的训练轮怎么办?

Jon*_*ell 43

学习如何使用Emacs的最重要的事情是...(鼓励请)学习如何使用Emacs.

好的,好的,好的.这是一个愚蠢的答案,这是一个重言式,但这是真的.如果你启动Emacs,并想一想自己"我怎样才能在源代码树中找到'foobar'这个词的每个实例?" 你可以做的最糟糕的事情是点击Alt+ Tab并访问谷歌.

认真.

学习帮助系统及其工作原理是您可以做的最好的事情.只需轻轻一按,我就可以轻松获取所需的所有信息.

你可以做的下一个最好的事情就是安装一个名为Icicles的精美小包,它有一些非常常规的完成功能.安装完成后,只要知道迷你缓冲器要求某种输入,你现在可以使用正则表达式.

这将如何适用于查找源树中的每个文件?好吧,你打了Mx,然后输入"find".在那之后,你可以点击(例如)Shift+ Tab并且Icicles会启动,找到每个带有"find"前缀的命令.或者,你可以做Mx.找.它会给你任何带有find的命令.

建立一个备忘单.只需保存一个保存的缓冲区,其中包含您经常使用的所有键盘快捷键.彻底删除你知道的那些,并拿起新的.在大多数情况下,当您执行Mx命令时,消息缓冲区将告诉您该命令的键盘快捷键是什么(如果有的话).

学习.键盘.宏.

学习.Emacs的.Lisp.

Steven Huwig关于使用一些杀手级应用程序的想法很好.当您想要使用它时,Emacs更易于使用.对我来说,这是Planner Mode.(我刚刚转到Org模式,它甚至更好.)

  • +1,但是Ch c映射到describe-key,这不是你的意思,当你说"Ch c find"时我不会想到."找一个"可能吗? (4认同)
  • 标记为建议http://www.emacswiki.org/emacs/Icicles的正确答案 (2认同)

Dav*_*hme 15

  • 花20分钟运行教程

    ctrl-h t

这将使您达到可以提高工作效率的程度(您将阅读的"元"键可能是Escape或alt).


Ste*_*wig 14

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

潜在的杀手级应用:

  • 对我来说,它的shell模式.这是因为在我的工作 - 笔记本电脑XP explorer.exe不断挂起的原因不明.有时它会使机器完全停止.Emacs没有. (2认同)

esc*_*cle 9

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

立即设置.emacs文件.你会想要自定义它.这听起来很愚蠢,但对该文件进行某种源代码控制也会有所帮助.

为了更容易了解Emacs的内脏,请添加到.emacs:

(defalias 'ap 'apropos)

然后当你想看看是否有命令做"某事"时,输入"[Alt-x] ap [输入]某事[输入]".Emacs有自己的名字,所以有时很难找到东西("猛拉"?严肃地说?像其他人一样把它称为"切"!)

"[Ctrl-h f] function-name [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-mode非常宝贵.它允许您同时打开几十个缓冲区,并在眨眼之间切换它们.设置iswitchb并添加到.emacs:

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

要评估emacs-lisp表达式,请将表达式键入缓冲区,将光标放在其后面,然后键入"[Ctrl-x Ctrl-e]".这使您可以轻松地尝试不同的自定义.

请记住,在键入类似的序列时,您不必放弃ctrl.

使用"occurrence"函数查看字符串在缓冲区中的位置.以下是一些方便的功能和键绑定:


(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))))))


Tre*_*son 5

关于如何加快速度的想法:

  1. 找到另一个Emacs用户,每天看几分钟
  2. 让Emacs用户观看您(并提供反馈)
  3. 找到更多Emacs用户并重复步骤1和2
  4. 订阅行星emacsen供稿,了解其他Emacs人员正在学习什么
  5. 关注当天twitteremacs提示
  6. 尝试回答关于SO的Emacs问题

我已经使用Emacs超过15年了,我每天通过做上述事情来学习新东西.