使用Emacs有各种各样的优点,但对于那些对通常的Win32应用程序感到满意的人来说,它带有类似墙的学习曲线。对于大多数其他编辑器,可以开始使用它们,然后随时了解其他功能和增强功能。
如何立即继续使用Emacs,目的是达到您真正喜欢使用Emacs而非其他编辑器或应用程序的那一点?
编辑 - 尝试澄清问题:我已经完成了教程,阅读了一些文档等等,然后很快我想快速编辑一些文本就更容易使用另一个编辑器,我已经知道。我需要做什么,这样我不仅可以选择其他更简单的编辑器,而且我实际上更喜欢使用Emacs,以及如何尽快到达这里?如果是Emacs的训练轮怎么办?
答案 0 :(得分:42)
学习如何使用Emacs的最重要的事情是...(鼓励请)学习如何使用Emacs。
好的,好的,好的。这是一个愚蠢的答案,这是一个重言式,但这是真的。如果你启动Emacs,并想一想自己“我怎样才能在源代码树中找到'foobar'这个词的每个实例?”您可以做的最糟糕的事情是点击 Alt + Tab 并访问Google。
严重。
学习帮助系统及其工作原理是您可以做的最好的事情。只需点击C-h一个发现就可以了,突然得到你需要的所有信息,就在你的指尖。
你可以做的下一个最好的事情是安装一个名为Icicles的精美小包,它具有一些非常常规的完成功能。安装完成后,只要知道迷你缓冲器要求某种输入,你现在可以使用正则表达式。
这如何适用于查找源树中的每个文件?好吧,你打了M-x,然后输入“find”。之后,您可以点击(例如) Shift + Tab 并且Icicles将启动,找到每个带有“find”前缀的命令。或者,你可以做M-x。 find。,它会给你任何带有find的命令。
制作备忘单。只需保存一个保存的缓冲区,其中包含您经常使用的所有键盘快捷键。彻底删除你知道的那些,并拿起新的。在大多数情况下,当您执行M-x命令时,消息缓冲区将告诉您该命令的键盘快捷键是什么(如果有的话)。
了解。键盘。宏。
了解。 Emacs的。 Lisp
Steven Huwig关于使用一些杀手级应用程序的想法非常好。当您想要使用它时,Emacs更易于使用。对我来说,这是Planner Mode。 (我刚搬到Org-mode,它甚至更好。)
答案 1 :(得分:15)
花20分钟运行教程
ctrl-h t
这将使您达到可以提高效率的程度(您将阅读的“元”键可能是Escape或alt)。
答案 2 :(得分:14)
我认为最简单的方法是找到一个在“Emacs”中效果最好的“杀手级应用”。对我来说,这是Oracle的SQL编辑和交互模式。一旦你已经将Emacs用于这个杀手级应用程序,那么在Emacs而不是其他编辑器中打开其他文档会更具吸引力。
潜在的杀手级应用:
答案 3 :(得分: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))))))
答案 4 :(得分:5)
我对如何加快速度的想法:
我已经使用Emacs超过15年了,我每天通过做上述事情来学习新东西。
答案 5 :(得分:4)
就像@Claudiu说的那样,只需使用它。只是笨拙地让你的需求推动你的学习曲线。
最终,你将达到一个“你已经足够了解危险”,而不是真正掌握环境的地步。没关系。因为在这一点上你可能会非常富有成效。你将拥有基本的技能和工具。
随着时间的推移,你会遇到你每天都做的事情,你只是在努力尝试花时间寻找“更好的方法”。通常情况下,你的基本技能组合足以让你投入到某个替代路径中的(可能未知的)时间不值得花费,特别是对于罕见的事情。
但是,你可能有空闲时间,或者任务可能足以证明更深层次的合理性。
在这些方面,你将成为一名专家Emacs人而不是熟练工用户。
虽然我个人不再使用Emacs(而是依赖于IDE),但我会说虽然Emacs非常复杂,但您只需知道一小部分就可以使它变得有用和有趣。我还会说我从来没有“在Emacs上尖叫过”,而我一直在我的IDE上尖叫。是的,Emacs的表现要比我的IDE做得少,但我认真地说,我可能值得花时间回到它,并停止尖叫。
我只是觉得Emacs比我的IDE更“确定性”,它喜欢偶尔进入lala land,或者需要重启,或者其他什么。
我从来没有亲自撞毁过Emacs(有些人会说这意味着我没有用得太辛苦了......)
答案 6 :(得分:2)
使用emacs进行基本文本编辑并不比使用记事本执行相同操作复杂。只需使用它就像记事本一样,但在浏览菜单时,请注意键盘的缩写。慢慢地你会开始接收东西。如果您想要做某些事情并且不知道如何做,那么可以从菜单中下载帮助,就像其他编辑一样。
我想我建议的唯一“技巧”是在打开文件进行编辑后,尝试使用ctrl-h m来提取在该缓冲区模式下工作的键盘绑定列表。
答案 7 :(得分:1)
我的建议是:
每当您希望自己知道如何做某事时,请查看如何做。在获得之前,您可能需要先查看相同的内容3-4次,但之后您将学到它。
继续这样做。一开始会很烦人,但是你会习惯它,然后你甚至可以喜欢使用它!
(免责声明:我个人只是使用另一位编辑)。
答案 8 :(得分:1)
启用icomplete-mode,你会经常看到在探视时看起来很有用的功能。
(icomplete-mode t)
在您的.emacs文件中。
C-h f将让你查找函数的docstring,C-h v将对变量执行相同的操作。使用icomplete,这非常适合探索。
答案 9 :(得分:1)
当您学习关键命令等基础知识时,请制作自己的备忘单。当然,找到并掠夺现有的备忘单,但一定要自己制作并将快捷键/键绑定分类到对你有意义的组。这将帮助您学习基础知识并保留记忆。
旨在将Emacs自定义到您想要的编辑器中,这是使用Emacs的最大优势,它将帮助您了解其所有功能及其扩展方式。
很高兴,相对而言,由于SO和其他地方如EmacsWiki的社区,学习Emacs要容易得多。 :)
从这一点开始工作...... a)键绑定和自定义。 b)宏和宏编辑器。 c)Elisp和您自己的自定义库。
值得注意的是,将Emacs设置为更现代的应用程序可能很痛苦,您需要执行诸如运行emacs服务器之类的操作,并使用emacs客户端。
谢天谢地(re:3)网上提供了很多帮助,但如果您可以直接访问经验丰富的Emacs用户,请认为自己很幸运。