【发布时间】:2010-09-23 14:20:35
【问题描述】:
如果您有一个 10 分钟的实践课程来教某人 Emacs,您会向他们展示什么?
启动emacs:emacs ... 退出emacs: C-x C-c当你站在他们身后,你会让他们在启动和退出 Emacs 之间做些什么?
【问题讨论】:
-
手头的任务是什么? Emacs 是适合这项工作的工具吗?
标签: emacs
如果您有一个 10 分钟的实践课程来教某人 Emacs,您会向他们展示什么?
启动emacs:emacs ... 退出emacs: C-x C-c当你站在他们身后,你会让他们在启动和退出 Emacs 之间做些什么?
【问题讨论】:
标签: emacs
如果我只有 10 分钟,我根本不会教他们任何捷径。所有常用的快捷键都在菜单中相应的命令旁边;用户可以自己发现。
要教的最重要的东西是那些能让用户自己发现/学习的东西:
可以使用C-x C-c 或 File->Quit 退出 Emacs。卡住时,应键入C-g,如果不起作用,则键入ESC ESC ESC。 [这可能是防止对 Emacs 完全失望的最有用的建议,相信我。]
教程:Help->Emacs Tutorial,或C-h t。 [这不是一个非常有用的记住的捷径;考虑到一个人在一生中读过多少次教程……]
Emacs 中的每个按键都绑定到一个函数的概念,而 Emacs 所做的只是一个接一个地执行函数。有更多的功能可能无法绑定到键,并且可以使用 M-x function-name 调用无需按键的功能。
可以通过C-h k [keystroke] 发现特定键调用的功能。让用户浏览其中的一些(包括一个有趣的事实,即键入字母并不特殊,只是调用self-insert-command,因此如果需要,可以绑定字母“z”来发送电子邮件:D)
可以使用C-h a(或M-x apropos-command)搜索可能有用的功能,例如C-h a paragraph 显示与段落有关的所有命令,包括哪些快捷方式将带一个到段落的结尾/开头。 C-h w command-name 会告诉您该命令是否绑定到某个击键。 [让他们通过这个来发现undo的关键是什么——通常他们会尝试C-z,它会做一些烦人的事情:)]
您可以阅读有关函数对 M-x describe-function (C-h f) 的作用的详细文档。 Emacs 对大多数事情都有很好的文档;和M-x apropos-documentation (C-h d) 是发现东西的好方法。
一个人的设置存储在 .emacs 中,即使不懂 Emacs Lisp,也可以通过查看该文件收集一些信息。
通常可以通过在其后键入C-h 来找到“完成”一组特定键的所有击键,例如'C-x C-h' 将显示所有以 C-x 开头的快捷键; C-h C-h 特别有用; C-c C-h 对于特定于模式的命令很有用,例如在 java-mode 或 c++-mode 或 LaTeX-mode 等时。(嗯,“modes”...)
卡住时可以搜索http://www.emacswiki.org/。 (或在 Freenode 上的#emacs IRC 频道提问,或发帖至gnu.emacs.help。)
这应该适合 10 分钟,我认为这是最重要的内容。我不会因为太多要记住的快捷方式而过载;无论如何,这毫无意义——如果用户知道如何发现快捷方式,他们就会找到他们最常使用的任何东西的快捷方式。不过,请他们写下这些命令的名称,以及关于 Emacswiki 等的名称。
重要的是向他们展示 Emacs 的强大功能及其模型的通用性(所有关于它是操作系统的笑话都不仅仅是笑话)。如果您只是显示一堆神秘的快捷方式来完成他们已经在其他编辑器中可以完成的事情,那么 Emacs 似乎不值得这么麻烦。本着同样的精神,我也完全支持 Anton Nazarov 的回答,即向他们展示 Emacs 可以为他们的特定目的做什么(如果他们使用 LaTeX 则为 AucTeX 等)。然后他们可以自己判断Emacs是否值得学习,并使用以上所有内容进行学习。
【讨论】:
向他们展示如何开始教程:C-h t
【讨论】:
【讨论】:
我会展示对新手用户模式最重要的部分。 例如,当我向物理学院的朋友展示 Emacs 时,我向他们展示了 AucTeX 和 preview-latex 和 RefTeX。 iMaxima 也很棒。 如果我必须向软件开发人员展示 Emacs,我会向他们展示 JDEE 或带有 Ropemacs 的 Python 模式。 俄罗斯方块、流浪汉和 w3m 可以用来表达 Emacs 可以做任何事情的想法 :) 然后我会展示如何开始教程并给出EmacsWiki.org的链接
【讨论】:
我想你告诉他怎么做
然后告诉他关于 M-x 的事。告诉他他在某处写下这些步骤。我认为可以使用箭头键完成基本导航。现在这就是他所需要的。
如果他知道M-x,他可以很容易地找到搜索、替换和其他东西。
【讨论】:
在给出 emacs 示例时,仅给出键绑定是远远不够的,因为它可以而且确实会有所不同。 C-x M-c 在我的系统上未定义。
【讨论】:
M- 部分)。因此,人们通常可以通过按下退出键,释放它,然后按下x 来访问M-x。
当我启动 XEmacas 时,直到我按下一个键,它才会在两个屏幕之间交替。其中之一具有以下特点:
XEmacs 21.4 (patch 21) "Educational Television" (cygwin, Mule) of Tue Dec 4 2007 on vzell-de
`C-' means the control key,`M-' means the meta key
Information, on-line help:
XEmacs comes with plenty of documentation...
M-? F: read the XEmacs FAQ (a capital F!)
M-? t: read the XEmacs tutorial (also available through the Help menu)
f1: get help on using XEmacs (also available through the Help menu)
M-? i: read the on-line documentation
M-x describe-project: read about the GNU project
M-x about-xemacs: see who's developing XEmacs
我会要求某人大声朗读它,确保他们理解它所说的内容,然后给他们我的手机号码和急救箱,以备不时之需。
【讨论】:
我将展示最常见操作的快捷方式,例如:
然后复制/剪切和粘贴:
【讨论】:
【讨论】:
C-h C-h
C-y 拉它,M-y 循环杀戮环。大“哇”的因素,又快又便宜。然后告诉他们它在他们的日常外壳中起作用。 C-u C-SPC(空格)将您带到您之前所在的位置,然后重复循环通过最后 16 个位置,无论编辑状态如何。你知道你什么时候羞怯地撤消事情只是为了得到“你以前的样子”吗?给你。
这是一个杀手级的 emacs 忍者技巧。每个人都应该尽快知道。
【讨论】:
我认为在尝试教他们一些东西之前首先要问的是“他们想从学习 Emacs 中得到什么?”而且,您是想向他们推销学习 Emacs 的想法还是他们已经承诺了。
如果他们是程序员并且正在寻找新的开发环境,请向他们展示 ECB、标签的工作原理等?如果他们正在寻找通用文本编辑器,请告诉他们M-x re-builder。如果他们希望快速编写文档并最终发布,请向他们展示 org-mode 以及 HTML 和 LaTeX 导出。
【讨论】:
除了已经提到的内容之外,我还会在一般情况下显示M-x 和M-x apropos 之后向他们显示M-x global-set-key。
我会告诉他们,Emacs 的意义在于它是无限可定制的,并且应该对其进行个性化以适合自己的喜好。我会告诉他们先试用标准键绑定,然后在 Bash、OS X 等中显示它们的优势。
【讨论】:
【讨论】: