想要挑起狂热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的记事本。所以,如果你需要的是灵活和便捷,请选择它们。

编译自:http://xmodulo.com/2014/06/good-text-editor-linux.html 作者: Adrien Brochard
原创:LCTT https://linux.cn/article-3329-1.html
译者: Rekii

最新文章

  1. Java提高篇——equals()与hashCode()方法详解
  2. PowerDesigner(四)-业务处理模型(转)
  3. JAVA Web 之 struts2文件上传下载演示(一)(转)
  4. BOM和DOM的联系和区别
  5. Qt自定义带游标的slider,在滑块正上方显示当前值(类似于进度条,用一个额外的QLabel冒充QSilder的一部分,然后move就行了)
  6. cdoj 排名表 拓扑排序 排名输出 贪心
  7. MFC 只启动一个程序实例
  8. android studio 添加到项目库中的项目
  9. springMVC获取数据--注意post方法会出现中文乱码问题
  10. awk之随机函数rand()和srand() (转)
  11. 【BZOJ2527】MET-Meteors(整体二分)
  12. python接口自动化(十五)--参数关联接口(详解)
  13. requests使用retry策略
  14. JAVA 动态代理原理和实现
  15. My_SQ主键,外键
  16. Manjaro更新出现冲突
  17. 定时任务 spring @Scheduled注解
  18. spring cloud+.net core搭建微服务架构:服务发现(二)
  19. RabbitMQ(四): rabbitmq 的消息确认机制(事务+confirm)
  20. Oracal 学习之用户角色创建分配表空间 给角色分配权限

热门文章

  1. matplotlib 可视化 —— matplotlib.patches
  2. JQuery中的find、filter和each方法学习
  3. SharePoint 网站中定义的页面背景图片不起作用
  4. highcharts的使用:从数据库获取数据显示在图上
  5. Maven介绍_转载
  6. [六省联考2017]分手是祝愿(期望+DP)
  7. 仿射变换(Affine Transformation)
  8. 双系统 windows引导项添加
  9. 如何在ssh远程linux服务器时不需要输入密码
  10. HTML一些标记