在Emacs教什么初学者?

时间:2008-11-22 11:13:27

标签: emacs

如果您有10分钟的实践课程来教授某人Emacs,您会向他们展示什么?

Start emacs: emacs
 ...
Quit emacs: C-x C-c

当你站在他们身后时,他们还会在启动和退出Emacs之间做些什么呢?

13 个答案:

答案 0 :(得分:53)

如果我只有10分钟,我根本不会教他们任何捷径。所有常用快捷方式都可以在菜单中的相应命令旁边找到;用户可以自己发现的那些。

最重要的教学内容是让用户自己发现/学习的内容:

  • 可以使用C-x C-c或文件 - >退出退出Emacs。卡住时,应键入C-g,如果不起作用,则ESC ESC ESC。 [这可能是防止对Emacs完全沮丧的最有用的建议,相信我。]

  • 教程:帮助 - > Emacs教程或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将告诉您命令是否绑定了某些击键。 [让他们通过这个来发现撤消的关键是什么 - 通常他们会尝试使用C-z并且它会做一些烦人的事情:)

  • 您可以阅读有关函数对M-x describe-functionC-h f)的作用的详细文档。 Emacs有很多关于大多数事情的文档; M-x apropos-documentationC-h d)是发现内容的好方法。

  • 那个人的设置存储在.emacs中,即使一个人不理解Emacs Lisp,也可以通过查看该文件来收集一些东西。

  • 通常可以通过在其后面键入C-h来找到“完成”特定密钥集的所有按键,例如'C-x C-h'将显示以C-x开头的所有快捷方式; C-h C-h特别有用; C-c C-h对特定于模式的命令很有用,例如在java模式或c ++模式或LaTeX模式等时(嗯,“模式”......)

  • 当卡住时,可以搜索 http://www.emacswiki.org/。 (或者在Freenode的#emacs IRC频道中提问,或者发帖到gnu.emacs.help。)

这应该适合10分钟,我认为这是最重要的事情。我不会因为记得太多的快捷方式而过载;这无论如何都是毫无意义的 - 如果用户知道如何发现快捷方式,他们会发现他们最常使用的快捷方式。但是,让他们写下这些命令的名称,以及Emacswiki等。

重要的是向他们展示Emacs是多么强大以及它的模型是如何通用的(所有关于它的操作系统的笑话都不仅仅是笑话)。如果你只是展示一堆神秘的快捷方式来做他们已经可以在其他编辑器中做的事情,那么Emacs似乎不值得一试。本着同样的精神,我也完全支持Anton Nazarov的回答,向他们展示Emacs可以做什么(AucTeX,如果他们使用LaTeX等)用于他们的特定目的。然后他们可以自己判断Emacs是否值得学习,并学习使用以上所有内容。

答案 1 :(得分:18)

向他们展示如何开始教程:C-h t

答案 2 :(得分:9)

答案 3 :(得分:6)

我会为新手用户模式显示最重要的内容。 例如,当我向物理学院的朋友展示Emacs时,我向他们展示了AucTeX的预览乳胶和RefTeX。 iMaxima也很棒。 如果我必须向软件开发人员展示Emacs,我会用Ropemacs向他们展示JDEE或Python模式。 俄罗斯方块,tramp和w3m可以用来表达Emacs可以做的一切:) 然后我将展示如何开始教程并提供EmacsWiki.org

的链接

答案 4 :(得分:3)

我想你告诉他如何

  • 打开并保存文件
  • 杀死/切换缓冲区
  • 切换/杀死/拆分窗口
  • 选择范围。

告诉他有关M-x的事。告诉他他在某处写下这些步骤。我认为可以使用箭头键完成基本导航。现在这就是他所需要的一切。

如果他知道M-x,他可以轻松找到搜索,替换和其他内容。

答案 5 :(得分:1)

当我启动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 

我会要求有人大声朗读,确保他们理解所说的内容然后给他们,在紧急情况下使用,我的手机号码和急救箱。

答案 6 :(得分:1)

我会展示最常见操作的快捷方式,例如:

  • 保存:ctrl-x-s
  • 另存为:ctrl-x-w
  • 打开/查找文件:Ctrl-f
  • 撤消:ctrl -_
  • 杀死缓冲区:ctrl-x-k
  • 切换到缓冲区:ctrl-b
  • 填写段落:M-q

复制/剪切和粘贴:

  • 设置标记:ctrl-space
  • 剪切:ctrl-w
  • 复制:M-w
  • 剪切线:ctrl-k
  • 粘贴:ctrl-y

答案 7 :(得分:1)

  • 打开文件
  • 保存文件
  • 基本导航,
  • 设置标记,复制,剪切和粘贴,
  • 显示撤消和杀死响铃,
  • 显示C-g,
  • 显示搜索和替换,
  • 拆分窗口并移至其他窗口,
  • 切换到其他缓冲区,
  • 显示教程,
  • 解释信息,
  • 显示指示:
    • 打开一些文件,
    • 运行命令压缩另一个文件,
    • 打开,编辑并保存压缩文件
    • 在远程主机上打开目录
    • open&将一些文件保存在远程主机上,
    • 从远程主机复制一些文件。
  • 打开一个shell并运行一些长输出命令并在缓冲区中导航。

答案 8 :(得分:1)

在给出emacs示例时,仅提供密钥绑定永远不够,因为它可以而且确实有所不同。 C-x M-c在我的系统中未定义。

答案 9 :(得分:1)

  1. 学习使用帮助C-h C-h
  2. 教程是否行使。
  3. 杀死一些东西,另一个东西,第三个,然后C-y猛拉它,然后M-y循环杀死戒指。大“哇”因素,快速而便宜。然后告诉他们它在日常shell中运行
  4. 使用the mark ring在缓冲区中导航。 C-u C-SPC(空格)将您带到之前的,并且重复,循环通过16个最后位置,无论编辑状态如何。
  5. 你知道当你羞怯地撤消事情只是为了得到“你以前的地方”吗?你去吧。

    这是一个杀手emacs忍者技巧。每个人都应该尽快知道。

答案 10 :(得分:0)

我认为在尝试教他们之前首先要问的是"他们想要从学习Emacs中得到什么?"并且,您是否正在尝试以学习Emacs的方式出售它们,或者他们已经承诺了。

如果他们是程序员并且正在寻找新的开发环境,请向他们展示ECB,标签如何工作等等?如果他们正在寻找一般文本编辑器,请向他们展示M-x re-builder。如果他们希望快速编写文档并最终发布它们,请向他们展示org-mode HTML和LaTeX导出。

答案 11 :(得分:0)

除了已经提到的内容之外,我还会在显示M-x global-set-keyM-x之后向他们展示M-x apropos

我会告诉他们,Emacs的重点在于它可以无限量地定制,并且应该根据个人喜好对其进行个性化定制。我会告诉他们先尝试标准的键绑定,然后在Bash,OS X等中显示它们的优点。

答案 12 :(得分:0)

  • C-克
  • 复制粘贴
  • 拆分Windows
  • M-X
  • 中肯
  • 描述密钥
  • 描述命令
  • 打开文件
  • 切换缓冲区
  • 特定于语言的开发环境,包括调试器和REPL。