你如何学习正确的Emacs?
我即将学习Emacs,已经通过了教程,借用了O'Reilly关于Emacs的书。 但问题仍然是 – 你如何学习好的Emacs 工作stream程 ? 我想,你不会像使用Vim那样使用Emacs。
这个问题似乎相信我的: – 我在哪里可以find一个使用Emacs的专业video?
我不能相信没有人提到过这一点,但是阅读与Emacs捆绑在一起的信息页面是了解隐藏function的好方法。 每当你需要从编码中断,打Mx info
并随机select一个页面阅读。 你的emacs能力将会非常快地提高。
了解emacs的自我logging如何帮助您工作也很重要。 比方说,你想知道如何缩放字体大小。 不要打断你的stream程,不要在这里,在IRC或Google上询问,你可以问emacs! 只需点击Ch a
( Mx command-apropos
),然后input一个search词,在我们的案例中。 如果有匹配的function,则会显示它们的名称,键盘绑定和文档。 现在,你已经发现了text-scale-increase
和text-scale-decrease
。
还有其他的自学文档function很好学习Ch m
会告诉你什么键绑定和命令在当前主要和次要模式可用。 这是发现您不知道的function的好方法。
另一种“通过渗透学习”的方法是定期使用模式的Mx customize-group
。 ( customize
是几乎所有模式都支持的交互式configuration编辑器。)
最后要做的是学习Emacs Lisp。 使用现有的工具是很好的,但有时你需要自己的工具。 如果你试图避免学习Lisp,你总是会陷入一些不太正确的事情中,这真是一个耻辱。
Emacs是自定义的好环境。 Emacs包含两个可通过Mx info
查看的Lisp手册。 这是自我logging,所以你可以说Ch f
或Mx describe-function
来获取任何函数的文档。 你甚至可以按TAB ENT
跳转到该函数的源代码,看看它是如何实现的。 当你想到“我希望我的工作像foo
一样,但只是略有不同”,这真是太好了。 你可以阅读foo
是如何实现的,在*scratch*
缓冲区中进行修改,然后看看你是否喜欢这个修改。 没有编辑/编译/testing周期。 你按一个键,你的emacs会话立即拥有你刚刚写的function。
您学习emacs所付出的努力越多,emacs将会使您的工作更轻松。
一旦你掌握了基础知识(打开/closures文件,导航,基本编辑)就可以使用它。 与其他许多工具一样,练习也是完美的…
但是,我会暂时搁置一些时间来改善当前使用编辑器的方式,但是作为正常工作stream程的一部分,而不是为了正义而学习东西。
我发现一些有用的资源是EmacsWiki和Planet Emacsen博客 。 我使用这两种方法,主要是通过使用Planet Emacsen来获得“灵感”,然后转移到EmacsWiki上,并在那里为特定主题进行拖网。 我发现,除非你至less有一个模糊的想法,你正在寻找什么,可用的信息只会让你感到厌倦,而不是实际上有帮助。
更不用说在StackOverflow上有一些非常有用的资源,例如这里的这个问题 。 Emacs是一个function非常强大的工具,能够比单个人需要更多的function,但最终可以让您挑选和select您需要的部分。
我的build议就是停止使用除Emacs以外的任何东西,当遇到问题时,请参阅Emacs中是否可以解决这个问题,然后退后(如果没有时间或者不能正常工作)。 至于工作stream程,它几乎和你通常的工作一样。 也就是说,对于正常的ide会话,你可以像平常一样打开/编辑一个文件,然后提交(在Cx vv中)。
我同意这里的其他海报,你只需要使用它! 以下是我如何做到的:
一旦我得到了非常基础(可以在缓冲区之间,打开/保存文件等),我打印出一张参考卡,保持方便。 这是一个很好的 。 只要你知道它是什么,那么只要你发现自己在卡片上反复做某件事,就开始使用快捷方式! 在你知道它之前,你会记住相当多的命令。 但请记住,可能没有人使用emacs可以做的所有事情。
当你最终发现自己在做一些没有捷径的事情时,现在是学习键盘macros的好时机。 一旦你得到他们,你会发现无处不在的用途! 从那里开始写一个elisp(如果你是一个程序员)是一个短暂的跳跃。
关于emacs的好处是你不需要一个“emacs工作stream程”,emacs可以在你的工作stream程中工作!
您不需要学习emacs工作stream程。 一旦你完成了教程,掌握了基本要素,你将不得不采取一定程度的一夫一妻制,除了Emacs之外什么也不用。 最终你会想到你真正希望存在的function。 大多数时候别人也会有,解决scheme只是一个search! 随着时间的推移,你不能不学习,最终你会拿起足够的,你会开发自己的个人工作stream程。
如果你想加快这个过程,Emacs维基有许多技巧,但最好的方法就是用Emacs做东西。
您可以看看Bram Molenaar关于高效文本编辑的讨论, http://video.google.com/videoplay? docid=2538831956647446078&ei=EqiGSau8KZ-QiQLi-Nn8Cg&q=bram+molenaar+ editing
虽然他是个vim家伙(他写的),但是你可能会对如何更好地使用适用于emacs的文本编辑器有所了解。
说实话,我所做的就是学习我需要的键盘绑定。 我不使用emacs的全部潜力,因为我不需要它的全部潜力。 我的build议是只学习你需要的东西,不要担心你不需要的东西。 每天学习一个新的密钥绑定,在大约300年后,你会认识他们;)
自从我正在使用的所有平台上的旧Amiga日子以来,我正在使用emacs。
使用emacs的最好方法是好奇心。 我仍然经常使用apropos(Ch a)和Mx(对于长函数名而不是键绑定)来查找function。
一个“正确使用”Emacs的关键概念是学习非常简单的elisp(一个简单的lisp派生物)并编写自己的小助手(自己的评论风格,下划线,模板),并知道在哪里寻找更改值标签大小,编译器,电子邮件)
第三件事:一切都在emacs中:我使用dired(目录编辑器)浏览文件。 我使用了大量的缓冲区来存放所有的文本文件(每种types的文件(c,ruby,list,sql,latex,…)都有适当的模式),这些文件在退出emacs时被存储并在调用时被恢复。 我从emacs启动编译器并使用跳转到错误的function。
macros是一个日常的程序(通过编码和改变它的方式)。
我喜欢图片模式,它允许向下键入replace,这使得重新编号常量块(很好的旧c#定义)很容易
有一座休憩的山峰可以攀登,但如果到了山顶,就可以看到整个世界都在你的脚下,再也不想错过这个经历。 我知道,周围有很多优秀的编辑(我通过Eclipse工作)
如前所述,最好的build议是在明年使用Emacs。 一旦你开发你的手指记忆,事情变得更容易。
你如何学习一个“良好的工作stream程”? 通过使用它,了解它,使它成为你的。 Emacs没有“正确”的使用。
至于了解它: 问Emacs – 使用它的帮助系统。 这也可以帮助: http : //www.emacswiki.org/emacs/EmacsNewbieWithIcicles
这是Emacs的强大function,你可以像你喜欢的方式使用它。 你只需要根据自己的喜好进行configuration。