Linux下常用的文本编辑器有:vim、emacs、pico、nano、joe,他们各自有什么优缺点,他们之间又有哪些区别呢?下面我们来看看。
Vim
在所有的Linux distributions 上都会有的一套文本编辑器就是vi,而vim是vi最受欢迎的变种之一,除了继承了vi迅捷的编辑方式,vim的功能已经比原始的vi强大了太多。这也得益于它可以用vim基本无限的扩展。vim.org上已经有数千个脚本了,给vim增加了各种各样的特性和功能。
虽然在vim中也可以玩游戏、运行shell和集成GDB在vim内部调试的插件。但客观地讲,vim的脚本语言与Emacs的ELisp相比,略显逊色,但这丝毫不妨碍它把vim扩展成非常优秀的编辑器。
说到底,vim的前身vi和emacs的设计采用了不同的设计理念,vi更符合Unix传统,它通过管道机制和系统内各种积木工具打交道,讲究的是和系统内的工具程序协作来完成用户的任务。和emacs相比,它的定位很明确,就是要做一个强大的编辑器。因此vim的绝大部分扩展,都是为了更好的完成编辑文本的任务。
Emacs
Emacs是著名的集成开发环境与文本编辑器。常年与vim程度程序员最喜爱的代码编辑器的称号。有人说:Emacs是伪装成编辑器的操作系统。Emacs其实是个Lisp的解释器,可以用Lisp灵活地扩展,也因此emacs逐渐向着“无所不能”的方向发展。
渐渐地,人们用Emacs不再限于写程序,写文档, 而且在Emacs里管理文件系统,运行终端,收邮件,上网, 听音乐……,真是一发不可收拾。甚至,有人用Emacs控制咖啡机煮咖啡。
这种大而全的扩展,背离了“一个程序只做一件事并做好它”的 Unix哲学,被Unix的忠诚用户所诟病。可是真的背离了吗? Emacs说过自己是一个编辑器吗?
正是因为Emacs的无敌的可扩展性,人们才分不清Emacs到底是不是一个编辑器了。但,就是有人喜欢这种All-in-One的哲学,喜欢在Emacs中完成每件事。所以才会有人写《生活在Emacs中》,所以, Emacs才会成为一种信仰。
Pico
在linux环境下,基于consol的编辑器除了vim之外还有一个名叫pico的编辑器,它是pine程序自带的,因此需要安装pine软件包才能使用。pico在多个版本的Unix和类Unix操作系统中都有移植版本。作为一个简单的纯文本编辑器,pico并不具备字处理程序中常见的增强功能,例如黑体和斜体等等。它具有文本输入,文本搜索,拼写检查,文件浏览,文本拷贝等基本功能。虽然如此,但它仍然经常被开发人员用来编写程序代码,在种类繁多的纯文本编辑器中,pico在程序员中的市场占有率仅次于vi。
Nano
与pico类似,是Linux系统下的多个文本编辑器之一,也与pico的特点很相像,都属于超简单的文本编辑器。具有的基本功能包括:打开浏览文档、help、存储文档、读入文件、校正语法等等。当对编辑器功能要求不高时,可以考虑使用。
Joe
joe命令是一款功能强大的纯文本编辑器,拥有众多编写程序和文本的优良特性。
语法:joe (选项) 参数
选项:
-autoindent:自动缩排;
-backpath::指定备份文件的目录;
-beep:编辑时,若有错误即发出哔声;
-columns:设置栏数;
-csmode:可执行连续查找模式;
-dopadding:是程序跟tty间存在缓冲区;
-exask:在程序中,执行“Ctrl+k+x”时,会先确认是否要保存文件;
-force:强制在最后一行的结尾处加上换行符号;
不全部列出来了,后面讨论具体使用时再详细讨论。