标签 EMACS 下的文章

一年前的这个时候,我想要寻找将 Vim 打造成一个成熟的全功能的 IDE 的最好插件。有趣的是,那篇文章的很多评论提到了 Emacs 已经大部分有了这些内置插件,已经是一个很棒的 IDE 了。尽管我对 Emacs 的难以置信的多样化表示赞同,它依旧不是一个可以开箱即用的高级编辑器。还好,其庞大的插件库可以解决这个问题。但在过多的选择中,有时很难弄清该如何入手。因此,现在让我试着收集一个不可或缺的插件的简短列表,来提升你使用 Emacs 时的工作效率。 虽然我主要侧重于与编程相关的生产力提升,但是这些插件对所有人或不同用途都是有用的。

暴增 Emacs 生产力的十大最佳插件

1. Ido-mode

Ido 或许是对新手最有用的一个插件,Ido 的意思是 交互式工作 interactively do 。它取代了大部分的用花哨字符匹配菜单的枯燥提示。好比说,它用列出了当前目录所有文件的列表来取代了常规的打开文件提示符。输入一些字符,Ido 将尝试匹配最合适的文件。它通过可视化让你的操作变得更容易,这也是一个快速遍历所有文件都有相同前缀的文件夹的方法。

2. Smex

它不算最著名的一个、但却是一个替代 Ido-mode 的好选择:Smex 可以优雅的替代普通的M-x提示符,灵感大部分来自于 Ido-mode。它也给调用M-x后输入的命令带来了同样的交互搜索能力。它简单而有效,是一个为常用操作提升效率的最好方法。

3. Auto Complete

知道这个插件的存在之前,我在 Emacs 里面有一半的时间花在敲击 M-/ 来补完单词上。现在,我有一个漂亮的弹出菜单可以为我做自动补全。无须多说,我们都需要它。

4. YASnippet

这是真正的程序员必备利器。总有一些代码片段会让我们觉得我们一辈子都在写它。对我来说,就是调试 PHP 时不断输入的 var_dump(...);exit;。经过一段时间一遍又一遍的输入var_dump(...);exit;,我觉得我可以预先把其做成录制好的、方便用到的代码片段。使用 YASnippets,可以很容易导入代码片段文件或者自己做个。之后,只要按下一个 tab 键,就可以将一个小的关键词扩展成一大段预先写好的代码,然后可以很方便地在里面修改。

5. Org-mode

免责声明,我最近才开始使用 Org-mode,但它已经深深的吸引了我。从我看过数以百计的文章来说,Org-mode 可以改变你的生活。它背后的想法很简单:它是一种用普通文本做简单备注的模式,可以很容易地在任务列表和各种数据中转来转去,并进行一些比如按优先级或到期日期的过滤,或设置一个重复日期。然而,虽然思路简单,但你可以做到很多,用各种方法用于各种用途。与其去看一个长长的介绍,我觉得你可以去读读现有教程,有很多视频可以看,自己去体验一下 Org-mode 是多么强大。

6. Helm

一些使用者喜欢它,但是其他人没有这么大的使用热情。我是后者的一部分。但在拥有这样一个庞大的追随者的情况下,是不能不提到它的。Helm 旨在完全变换你的 Emacs 使用体验。简单来说,Helm 是一个在 Emacs 中帮助你快速找到一个文件或命令的框架。根据你的输入,它将尝试使用词语自动完成来引导你将大脑的念头变为行动。起初感觉有点奇怪,但对一些人来说,Helm 本身就是一个信仰。虽然我不是 Helm 的粉丝,我欣赏 helm-occur 这一个伟大的工具可以在一个大文档搜索字符串并且在一个单独的缓冲区显示所有匹配结果,以便很容易在它们之间跳转。如果你正在寻找一个快速演示来了解 Helm 能做什么,我推荐这篇文章

7. ace-jump-mode

这是另一个有一大群追随者的插件,我正在试图成为 ace-jump-mode 的粉丝。掌握这个插件,你会体验到超越鼠标感受。简单描述一下,通过你选择的快捷方式触发 ace-jump-mode 后,你会被提示输入字符。输入一个字符,所有以该字符开头的单词中的那个字符就会替换成一个唯一字符并被高亮。输入一个屏幕上的高亮字符,你的光标会直接跳转到高亮显示的那个词。我不得不承认,这让我使用它时有点反应不过来,但是,一旦你掌握它,它将显著提升你在一个文档里的移动速度。(LCTT 译注:用文字描述比较困难,如截图中,你输入的是一个“i”,然后屏幕中所有以“i”开头的单词中的那个“i”都被替换成了从 a 到 z 的字符,并高亮;你可以输入这些高亮的字符直接跳转到那个位置。)

8. find-file-in-project

如果你喜欢 Sublime text 以及它可以用非常方便的Ctrl-p模糊搜索来打开一个项目中的任何文件的功能,你将会喜欢上 find-file-in-project (简称 ffip)的。使用设置指定了您的版本控制的根文件夹后,您可以轻松地调出一个很酷的文本条,通过快速扫描和搜索你的代码,来根据你输入的名称找到匹配的文件。我喜欢把它绑定到键盘上的 F6 键。如果你不知道整个目录从上到下的复杂结构,这很简单,而且非常易用。

9. Flymake

对 IDE 的爱好者来说,我认为语法检查器是 IDE 最强大的特性之一,它非常适合初学者和方便了那些疲惫的程序员。感谢 Flymake,Emacs 用户也可以享受到了语法检查器。因为我工作中用 PHP 很多,Flymake 就不需要任何额外的配置。当我写代码的时候,它会自动检查我的代码和高亮任何一个包含问题的行。对于编译语言,Flymake 将寻找一个用于检查你的代码的 Makefile。真神奇。

10. electric-pair

最后,但并非最不重要,在我看来,electric-pair 是最简单但最强大的插件之一。它会自动关闭你输入的括号。它起初看起来并不是很有用,但相信我,在被寻找配对括号折磨几百次之后,你会很高兴有这么一个插件,可以确保你所有的表达式的括号都是一一对应的。

总结一下,Emacs 是一个奇妙的工具。这可不是一个令人惊讶的说法。试试这些插件,看着你的效率直线飙升吧。这个列表当然不是详尽的列表。如果你想贡献你的建议,请在评论中这样做。我自己一直在寻找新的插件来试着发现 Emacs 的新体验。


via: http://xmodulo.com/best-plugins-to-increase-productivity-on-emacs.html

作者:Adrien Brochard 译者:zky001 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

想要挑起狂热Linux爱好者之间的激烈争辩吗?那就问问他们最喜欢的文本编辑器是什么吧。在开源社区中,选择一个用来写文本,或者更进一步,用来写代码的编辑器,比选择一个球队或者游戏控制器还要重要。但是任何一个Linux新手都不该为过多的建议和各种各样的煽动而感到焦虑不安,取而代之,先去试着熟悉熟悉一堆不同的文本编辑器吧。所以今天我将要给你建议一个简单主题的列表,里面的编辑器都可以在Linux下编辑文本。这个列表不包括那些成熟的只用来编程的IDE,也不包括那些专门进行LaTex排版的编辑器。如果你对后者感兴趣,我可以建议你去看看这里.

1. Vim & Emacs

让我们直接从这两个“大咖”开始。当有人在一个聊天室里问关于Linux下的编辑器时,会有一个人立马回答Vim,然后会有另外一个说Emacs。(LCTT译注:这就是V党和E党啊~)之所以会这样,理由很充分。这两个都是非常强大的编辑器,有很多的特性,很多插件,很强大的社区支持。如果你一点都不熟悉它们的话,要描述清楚它们强大的功能是有点困难。但是简单来讲,它们允许你在文本中快速移动,简单地做出大量的修改,记录宏以及你能想到基本上任何疯狂的编辑方式。这两个编辑器共同的缺点是,不可避免地花时间去学习。讲完这点之后,我不会陷入到哪一个更好的争论中去,但是我真的想建议每一个人至少学习这两者之一。

2. Sublime Text & Lime & Atom

一款叫做Sublime Text的文本编辑器在过去几年逐渐兴起。一些人可能会将它视为Vim或者Emacs的友好版,专为编程而设计的。事实上,它保持了一些与Vim和Emacs的相似特性。比如,批量编辑和函数跳转都会让人或多或少想起Emacs或者一个充满活力的Vim。然而,它保留了更多的可视性并且更加容易使用。同样,大量的插件吸引大家进行个性化定制。(LCTT译注:实际上,译者认为Sublime Text与其说是像Vim或Emacs,不如说更像是Mac上的编辑器神器textmate。另外,Sublime Text的发展最近已经陷入停滞了。)

Sublime Text唯一的“污点”是它的许可证:如果你只使用开源软件的话,你可以放弃它了。(LCTT译注:但是Sublime Text可以全功能一直试用下去,没有一点区别,只是如果你觉得应该支持的话,付费比较好,虽然挺贵。)为此,最近出现了一个雄心勃勃的克隆版 Lime 。这个软件正处在重度开发当中,但是它的理念是:跟Sublime Text相似的用户体验,但是带着开源的韵味。对于Lime,除了满满的期待没有更多要说的了。

距现在更近的,GitHub以开源形式发布了Atom,展开了与Sublime Text正式的竞争。Atom打包了所有你想要的文件跳转,代码片段使用等特性,提供一个完整特性的编辑器而不是简单的编辑框。使用HTML,CSS和集成Node.js环境,可以轻易地定制文本处理过程,这正是它的魅力所在。这其实已经要涉及到IDE的定义了,我们的列表最多会覆盖到这里。(LCTT译注:好吧,我觉得从Sublime Text转移出来的最佳出口就是Atom。)

3. Gedit & Kate & Mousepad & Leafpad

如果不谈这些超级厉害的神器,我们可以转向我认为的“桌面环境经典版”编辑器。这些编辑器感觉上更加的传统,有些也可以用插件进行强化,但是它们的重点是输入简单。如果你头脑里有一些想法想要在忘记之前赶快记下来(我必须怪罪那些视频游戏让我的注意力变得短暂)。你不需要学习Vim或者Sublime Text的快捷键。你只需要一些空白的地方进行输入。这类编辑器的好处是它们或多或少的和你的桌面环境集成在一起。在这一类编辑器中,Gnome 下的 Gedit 和 KDE下的 Kate 都很好的集成在桌面系统中,可以通过插件进行个性化定制。比如,更容易的进行LaTeX排版。MousepadLeafpad 更适合于轻量级的桌面,比如Xfce和LXDE。它们在某种程度上很像Windows的记事本。所以,如果你需要的是灵活和便捷,请选择它们。

4. Nano & Qute

另外一个流行的文本编辑器“大家族”是“无打扰编辑器”。如果你喜欢在后台持续地开着Facebook或者Twitter,或者每5分钟就收一次邮件,你就会知道把注意力集中在那篇明天要交的散文,或者这些还没编译通过的代码是多么困难的事。如果是这样,你需要一个编辑器,它可以占满整个屏幕空间,并且屏蔽掉所有的其它事情。

也许这类编辑器里面最不受欢迎的是Nano。如果你想屏蔽所有分心的事,关掉X server(LCTT译注:关掉桌面,只用文字终端界面,Nano就是工作在这种模式下。实际上这时nano就是接管了X Server的工作。)。这是最简单和直接的方式。事实上,《权力游戏(Game of Thrones)》的作者Geogge R. R. Martin最近就在一次采访中说他使用一个类似DOS Word的文本处理程序写他的小说。

如果你想要一款更顺眼一点的编辑器,你可以试试我的最爱:Qute。没有酷炫的特性,也许有一点LaTeX排版使它开起来更美观,但是重点其实是在它的界面的。它提供了一个舒适的导航和编辑体验。如果你对终端感觉不太舒服,Qute是个不错的选择。

5. LibreOffice & Calligra & Abiword

最后,办公套件也是文本编辑器。我不确定你能否轻松使用办公套件编程,但是它确实更适合纯文本编辑,也比LaTeX更容易学习。在这类编辑器中,LibreOfficeCalligra 不能避而不谈。这两个编辑器因为它们丰富的特性和响亮的名声成为这类编辑器中的巨兽。这两者我都喜欢,但是很多人明确的偏向于前者。如果你怀念微软的Word处理软件,你会有自己的选择。稍处下风的Abiword相对前面的两个是一个轻量级的选择。如果你的目的只是编辑一个文本文档,不关心电子表格或者数据库,Abiword的特性可以达到理想的效果。

简单总结一下,如果我仅有一条建议给你,那么就是选择你周围的人正在使用的编辑器。如果因为某些疯狂的理由,每一个你周围的人都用LibreOffice写C程序,或者用Sublime Text写小说,而你也要做同样的事,你应该跟随潮流。原因就是当你遇到一个问题需要帮助的时候,他们可以更容易的给你提供帮助。

你最喜欢的文本编辑器是什么?你都用它来做什么?请在评论中和我们分享吧。


via: http://xmodulo.com/2014/06/good-text-editor-linux.html

译者:love\_daisy\_love 校对:Caroline

本文由 LCTT 原创翻译,Linux中国 荣誉推出

自从理查德·斯托曼宣布编写名为 GNU 的完全兼容 UNIX 的软件系统以来已经过去 30 年了,GNU 点燃了软件自由之理念,并使开源斗争延续至今

GNU 不是第一款分布式免费软件,却是第一款宣布永久免费,以及“不受政治约束的自由软件”。

在 GNU 宣言中,斯托曼描述了美好的愿景。“从长远角度来看,”他写道,“软件自由是步入后稀缺世界的必经之道,在后稀缺世界任何人都无需为生计奔波。人们可以自愿投身于一些他们感兴趣的活动,比如软件开发,代价只是每周花费十个小时完成诸如法律制定、家庭协商、机器人修理、小行星观察等工作任务。”

在现实世界中,GNU 因为'EMACS 社区'以及由詹姆斯·高斯林编写 UNIX 版 Emacs 所引发的争论而发展迅速。在'针对 ITS 用户的 Emacs 手册'里,标示着 1981 年 10 月 22 日起,斯托曼就表明了授权 GPL 的想法。

“Emacs 并未抄袭任何软件,”他写道。“与之相反,你正在加入 Emacs 软件分享社区。加入社区的条件是你必须提交对 Emacs 作出的改进,包括任何你所写的插件。”

最初,高斯林基于其他人已经做出贡献的原因,允许自由分发高斯林版本 Emacs 的源代码。但是,1983 年 4 月,斯托曼就此谈道:“他通过申请版权的方式伤害了每一个人,他不允许任何人进行二次发布,接着把软件贩卖给软件公司。”

斯托曼被此种背叛的行为所伤害,但是高斯林,不久后作为 Java 之父而闻名于世,说道:“他对我的处理方式反映了他是一个既胆小又卑鄙的人,你可以从他做过的事看出来。”

围绕这件事的反击与法律威胁直接促成了 GNU 的成立,以及之后的 GPL 协议。高斯林版 Emacs 不久之后就被 GNU 版 Emacs 所吞并。GPL 出现的标志是 1985 年的 'GNU Emacs 分发许可事项',经过几次修改重新发布,直到 1989 年 GPL 1.0 颁布。

斯托曼之后讲述当他创建 GNU 的时候,人们说:“噢,这是一项艰难地任务;你不可能写出一个像 UNIX 那样的完整系统来。我们能为之做出多少呢?这个主意很棒,但是很不现实。”然而斯托曼的回应是无论如何他都会去做。“这就是我强大的地方。我强大在我非常非常坚决,我会忽视各种诸如为什么你应该改变你的目标等理由,忽略许多其他人会为之动摇的因素。许多人都想成为胜利的一方。我并不反对这种想法。我只想成为正确的一方,即使甚至我没有成为胜利的一方,直到最后我仍将全力以赴。”

“这和钱没有关系”,他在 1999 年说道,“这关乎自由。如果你认为这和钱有关就已经偏离讨论方向了。我只想自由地使用电脑,使用电脑去合作,在使用电脑分享的过程中不会被限制或是禁止。GNU/Linux 系统现在或多或少已经做到了一些。系统因为付诸实践的原因正变得越来越流行。它是很好的操作系统。危险是人们将会喜欢上它,因为它是实用的,它将会变得流行,只要没有人在背后对这些理想产生含糊的念头,当然这些念头将会是具有讽刺意味的失败。”

自由软件归因于斯托曼的固执以及洞察力,但是正如同他过去在 GNU 项目中建议的一样,软件自由的斗争与成果很大程度上来自于他人的贡献,对它的威胁将会继续存在。

“当其他人怀疑我是否能够胜任工作,不确定我那么做将是否足够实现目标时,我已经完成了我的大部分工作。我尝试了各种手段,因为在我的同伴和敌人之间除了我什么都没有。我自己都感到很惊讶,有时候我竟然成功了。

“有时候我会失败; 我的一些同伴会突然离去。接着我会寻找其他受到威胁的同伴,准备好另一场战役。随着时间的流逝,我学会了寻找恐惧并将之置于我和我的同伴中,号召其他黑客来加入我。”

“如今,很多时候我不是唯一的。当我看着这么多黑客不断参与进来并坚持下去,这是一种救赎、也是一种乐趣,我知道,这片乐土将会幸存下来 – 不只是现在。因为危险每年都会扩增。”


via: http://www.linuxuser.co.uk/features/gnu-toward-the-post-scarcity-world-the-free-software-column

译者:SteveArcher 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出