linux下编辑工具简介

来源:互联网 发布:第五课 网络交流 编辑:程序博客网 时间:2024/04/28 13:23
 

1 office 的局限性

很多已经习惯了在Linux 环境下工作的人,他们的电脑上可能大部分都还

保留着Windows 操作系统,我想一个很重要的原因就是office 。因为在中国用

Windows 的人太多了,这个数目足以让office 这套办公套件1,成为我们国人

日常工作和交流的一套标准。平时学校发的通知、老师布置的作业、讲课的课

件、甚至我们交的毕业论文都离不开office 。甚至当我们看到有人用pdf 格式

交作业时,都觉得他很另类,于是很多Linuxer 不得不为了office ,为了与别

人交流继续保留着windows 。

我不得不说office 是一套非常棒的办公套件2,它是一种所见即所得的编辑

和排版软件,我们可以在编辑过程中一边编辑一边看见编辑的结果。一个对编

辑和排版一窍不通的人可以几乎不用学习,就能用word 编写出还算不错的文

档,所以office 是一套很适合初学编辑和排版的人使用的办公套件。但我要强

调一点,用户友好度越高,软件的专用性就越差,对个别要求苛刻的人来说就

越不友好。比如说,我们用的傻瓜相机,即使像素再高,它在专业人士看来永

远都是傻瓜。这里我并不是批评office是傻瓜,只是想说,由于office是面向的

是更广泛的用户,尤其是针对那些没有编辑排版经验的用户开发的,所以在某

些比较专业的领域里,office 并不受欢迎。

以这本书为例,它并不是在Windows 下用word 写出来的,我主要用的两

个工具是vim 和LATEX ,用它们的主要原因是因为在我看来它们比word 更适

合编写这本书。

我举几个简单的例子,来说明word 中的几个不足,这可能也是很多word

老手们抱怨的比较多的问题。

1. word 中编辑器3的功能弱的不能再弱了。

2. word 把数学公式处理成图片,这严重的影响了编辑和排版,而且公式编

辑器对公式的处理效果也是很差的,严重影响文章的美观。

3. 如果你想用word 编写一本书的目录,那么你可能需要找到每一个大章节

和每一个小章节的页码,然后编辑好,编辑完成后,你突然要______加入或删

除一些章节,那么你就不得不重新编写整个目录。同理,如果你的书使

用章节标题作为页眉,那么在你修改文章后,你可能也要修改每一页的

页眉,即使这本书比较薄,只有200多页,那修改起来也是很让人崩溃的

一件事。

1主要是word

2有些人居然用word 编写代码, My God!!!

3编辑器的功能不代表编辑功能,编辑器的主要功能是负责文本的输入、查找和修改。

 

4. 如果你要编写一些对格式要求很高的文章,比如说你的毕业论文。那就

需要你把很长的一篇文章一点点的按照规定的格式修改好,这是一件非

常耗时的工作,相信大家都深有体会。

5. doc 格式并不是国际标准,很多大型的学述期刊拒绝接受word 文档,因

为不方便他们修改和排版,以及编辑成册。

6. 排版是一门学问。优秀的排版,可以激发人的阅读兴趣,缓解阅读疲

劳;而糟糕的排版,让人厌恶,甚至影响人的心情和视力。用word 排版

很容易,但是要排好版真的很难,因为它需要你对排版的知识有一定的

了解。

如果你不想改变旧的编辑习惯,并且对文本编辑工作的要求不高,那么我

强烈推荐你继续使用office ,因为它是我见过的最优秀的所见即所得的编辑排

版软件,也是最适合你的工具。如果你想加快你录入文本的速度,想摆脱word

在排版中给你带来的麻烦,又或者想要让你的文章的版式更美观,那么下面我

将向您介绍几个Linux 下的新朋友,它们将让你永远忘记word 。

2 编辑器之神与神之编辑器

在众多的编辑器中,几乎没有编辑器能与vim 和emacs 相媲美。因此,人

们把vim 称为编辑器之神,而把emacs 称为神之编辑器。如果你还没有用过它

们,那么赶快试一下,你一定会对它们爱不释手的。下面我以vim 为例,向大

家介绍下,它是如何提高你的编辑效率的。

1. 远离低效的鼠标操作:

对于一个熟练的文本录入人员来讲,最浪费时间的任务就是操纵鼠

标了。因为这意味着你的右手将要离开键盘一段时间,然后再回到键

盘,这段时间大大降低了文本录入的效率4。于是每一个成功的编辑器都

在尽最大努力让人们远离鼠标,使人们的双手几乎不用离开主键盘区就

能完成文本编辑的所有工作。

vim 诞生的时候还没有出现鼠标,因此它从不依赖鼠标去进行复杂的

文本编辑工作。同时它在设计的时候,尽量避免了人们手腕的移动,而

是鼓励人们在编辑的过程中尽可能多的运用你的手指,因此,当你熟悉

了vim 的输入方式后,你会发现你几乎不需要移动你的手腕就可以完成

任何复杂的编辑工作。

2. 远离低效的重复操作:

重复是低效的象征,因此vim 鼓励人们去避免一切重复的工作。你

可以利用vim 提供的众多寄存器和强大的宏功能,来把那些重复的操作

统统交给vim ,让它来帮你完成。你要做的仅仅是演示一次给它看,然后

它就会帮你重复这个操作。

3. 远离常见的误操作:

人们在编写代码时,常常需要高亮显示一些关键字,来方便程序员

阅读代码并避免误输入。vim 几乎可以为任何你能想到的编程语言提供

4如果你是一个魔兽爱好者,那么你该知道键盘对于操作的重要性了吧。一个用鼠标来放技能的

玩家,是玩不好魔兽的。

高亮显示,如果你不喜欢vim 提供的配色方案,你也可以手动对其进行

修改。

有时你可能需要输入一些很长的单词,为了避免输入错误, vim 会

自动记录下在本文档中出现的单词。在需要输入一些比较长的单词时,

你只需输入这个单词的前几个字母,然后按下ctrl+p , vim 就会自动搜

索并匹配这个单词啦。

vim 还为你提供了丰富的插件,你可以用这些插件来实现多种语言的

拼写检查,最大限度的帮助你正确的输入文本。

4. 超强的扩展能力5

vim 不仅仅是个简单的编辑器,它还具有超强的扩展能力。你可以为

它安装上各种插件,来提升它的功能,你甚至可以在vim 中启动外部程

序,帮助你进行编辑。

vim 的优秀之处还有很多很多,比如强大的灾难恢复能力等,这里就不一

一列举了。看了上面的介绍你是不是心动了呢?学习vim 并不难,推荐你看看

《高效使用vim 》这篇文章,这篇文章会教你如何简单的快速的上手。如果

你想要了解关于vim 的更多内容,请到网上下载《vim 用户手册》,仔细的阅

读,并坚持练习。相信几个星期,你就可以熟练的掌握它了。

3 vim 的简单设置

你可以通过设置让vim 按照你更熟悉和喜欢的方式工作, vim 的设置文件

是./vimrc 。下面我以我的部分设置文件为例,讲解下如何对vim 进行简单的

设置,更对的设置内容请参考《vim 用户手册》。

“在每一行前面显示行号

set nu

“语法高亮显示

syntax on

“自动缩进设置

set autoindent

set smartindent

“匹配功能,主要用于括号间的匹配

set showmatch

“快速搜索,设置了它,你可以一边输入,一遍搜索与之匹配的单词

set incsearch

“设置C 语言缩进

set cindent shiftwidth=4

“显示行列信息

set ruler

5emacs 在扩展能力上绝对是个王者,你几乎可以在emacs 中完成任何事,它甚至可以帮你煮

咖啡。

“显示正在输入中的命令

set showcmd

“一些智能功能

filetype plugin on

filetype indent on

“设置文本宽度

set tw=72

“设置gvim 中的配色方案

colo koehler

“设置vim 的编码方式

let &termencoding=&encoding

set fileencodings=utf-8,gbk,ucs-bom,cp936

4 TEX

本书所用的排版系统就是TEX 系统,它是由Knuth 开发的,他的中文名

字叫做高德纳。他的另一个重大贡献是编写了享有盛誉的计算机程序设计系列

专著The Art of Computer Programming 6。当然TEX 的优秀之处并不是因为

它有一个好的作者,而是它本身出色的设计。

我将它总结为以下几点:

• 它可以把你从麻烦的版面设计中解放出来,让你更加专注与你文章的内

容。同时TEX 鼓励你编写具有逻辑结构的文章,如果你用它编写了几篇

文章后就会发现,你写的文章变得更有条理了、思路更清晰了、更具有

逻辑性了,所以TEX 非常适合于编写科技类文章。

• 它是一个智能化的系统。你只需要告诉它这句话是一章的标题还是一个

脚注,它就会按照默认的标题或者脚注的方式来对这句话进行排版。如

果你不喜欢它预设的排版方式,你还可以自行修改。

• 它不需要你掌握复杂的排版知识。排版是一门学问,如果在一行中字的

个数过多,会让读者阅读起来感觉很吃力,甚至会让读者对本书的内容

失去兴趣。如果一行中字的个数过少,又会让读者感觉文章不紧凑,让

读者陷入不断翻页的地狱。同样如果你的字号太小,会影响读者阅读,

但是如果你的字号太大又过于刺眼,同时也浪费纸张。

所以如何排出精美的易于阅读的文章,是我们在word 中一直很苦恼的问

题。但是如果你学习并使用了TEX ,你就可以摆脱这一切。因为它在设

计时,就参考了众多排版专家的意见,并将这些专业的排版建议,预设

在TEX 系统中,所以,通常你只要使用TEX 默认的排版方式就可以排出

精美的文章了。

• 强大的公式编辑能力, TEX 系统的公式编辑和排版能力被公认为世界上

最好的,所以几乎所有的专业数学机构都使用TEX 系统进行排版。

6盖茨在评价这本书时说道:“如t    ät      õt      果你认真读完了这本书,你就可以向我递简历了。”

• 强大的编辑和修改能力,如果你的论文是按照IEEE 要求的格式来制作

的,但是它同时也是你的毕业论文,那么你要使用word 在这两个排版格

式之间相互切换是一件很麻烦的事。而使用TEX 进行编辑,你要做的只

是使用一行代码,让TEX 去载入不同版式对应的宏包就可以轻松的进行

不同排版要求的之间的转换了。如果你想要加入或者删除一些章节,那

么只需要把这些章节include 进去就可以了, TEX 会自动帮你完成修改目

录、页眉等工作。

• TEX 是一个没有Bug 的系统,这一点都不夸张。Knuth 为了完善这套系

统,专门设立了一个奖励机制。如果谁发现TEX 系统的一个Bug ,就可

以得到高额的现金奖励。但事实是,这么多年过去了,除了几个美观上

的问题, TEX 系统几乎没有任何Bug。

• TEX 是简单易学的。我有信心用一个下午教会一个从没有听过TEX 的新

手,使用TEX 来编写这本书。当然如果你的接受能力比较强,估计1–2

个小时就够了。如果旁边没有人指导,你可以下载《lshort》这本书,相

信你认真的读完它之后,就可以很轻松的入门了。如果你想用TEX 来排

版中文,推荐你看看《LATEX入门与提高(第二版)》这本书。

如果在看过了上面的介绍后,你还是不喜欢TEX ,那么Linux 下也有一套

类似微软的office 的所见即所得的办公套件— open office ,它默认的保存格式

是odt ,如果你想用它与别人交流,可以用它自带的工具,把它转换成pdf 格

式。