Ubuntu常用效率软件简介
之前的一系列博客里,基本上我们夯实了使用Ubuntu系统所需的基础知识,这一篇里我们来谈谈在这个低调而强大的平台上,如何使得操作者遵循系统的设计理念,通过恰当的选用软件,从而达到人机合一的化境,将这个平台的潜能发挥到极致,进而十倍,百倍的提升操作者的生产效率。我们就接着聊聊Ubuntu/Linux下的常用效率软件,网络上常常有Linux用户在学习,使用了这个平台上的软件以后发出这样的感叹:“几乎每一个Linux软件都可以写成一本书”。这基本上就是Linux系软件强大到令人敬畏的最好注脚。也因此在有限的篇幅里不可能涵盖那么多软件的方方面面,更何况笔者本人视野有限,故以下文字只做提纲挈领的引介,希望起到抛砖引玉,启示读者的作用。这一篇里先对常用软件做简介,考虑到Linux作为一个开发者系统的角色,我们在下篇里再介绍针对开发者需要的软件。
相关阅读:
Ubuntu桌面生存指南:Linux 的哲学 (1) (2)
Ubuntu桌面生存指南 (3) --- 构建Ubuntu系统基础设施
Ubuntu桌面生存指南 (4) — Ubuntu系统备份恢复升级策略
大体上我会按以下思路介绍每个软件:
1.软件背景
2.安装配置
3.入门与心得
编辑器之神:GVim
Vi/Vim是Linux系机器默认标配的编辑器软件,基本上我认为你可以不需要Linux上的任何其它软件,但是你不可以说:“我想学Linux,但是我不想学Vi/Vim”。Vi/Vim的学习曲线很高,但是你一定需要学会的理由是:
1. 文本系统
Linux系统是基于命令,文本配置的系统,更别说如果你还是一个开发者需要写代码,不能熟练使用世人尊称编辑器之神的杀手级应用,你在这个GUI不友好的世界里其实寸步难行。
2. 无处不在
如果你使用Linux,意味着你不会安心的只使用自己的本地桌面,装上Vi/Vim替代品假装不需要学习Vi/Vim,你更有可能需要远程登录到一个陌生环境去操作另一台Linux,而那个机器上80%的可能只有默认标配的Vi/Vim,这种状况下任谁都会感到很局促,也有变通的方法:我看到很多Windows下的开发者使用ftp客户端从远程机器上去拖拽几个G的日志文件到本地,然后再使用Windows上的编辑器花几分钟时间加载这个巨大的文件,这还没有结束,如果问题没有解决,这个痛苦费力的过程会继续一而再,再而三的重复下去。这个时候我常常想他们为什么不把这些时间花在学习Vi/Vim上呢?
3. 高效编辑
作为编辑器,Vi/Vim发展至今,再配合精良的插件机制,其功能的丰富和强悍已经超越了人类可以做到想到的极限。在最初,鼠标出现以前,人类只能依靠键盘操作电脑,码字,尤其是如何高效码字是其中重要的一项操作,Vi/Vim就是被设计成高效使用键盘码字的工具。所以它分了三种编辑模式,在细节上,规定所有击键行为只发生在主键盘区:只是为了避免双手哪怕多几个厘米间的位移产生的效率损耗。还是为了向效率妥协,它设计了种种反人类的操作方式来实现各种编辑功能,为了追求编辑效率,它向人类施加操作成本和记忆负担。在鼠标出现以后,理应只为键盘服务的码字软件却因为它的高效设计在程序员中间依然有很高的接受度。这种现象其实更应该让我们反思今天所谓讨好普通用户的人机设计中到底存在哪些问题。
4. 一劳永逸
学习Vi/Vim并不是在学习Vi/Vim本身,而是在学习一套使用键盘操控计算机的规范(例如:hjkl表示左下上右),由于这套规范被很多人认可接受已经成为一种标准规范,所以这套标准规范被嫁接到其它许多的软件上诸如:Vimperator, w3m, Eclipse, 甚至是GVim的死敌Emacs。可见作为一种约定成俗的标准,学习Vi/Vim的边际效益十分可观,你只要学会这种规范,就可以在许多地方——不止于编辑器本身,发挥学习成果的威力,我们在下面的文字中会看到许多这样的案例,先讲一个小例子,在终端中输入:
$ set -o vi
可以开启以兼容vi的快捷键操作bash命令,此时你可以在终端使用Esc切换到命令模式,在命令模式下,按 h,l 可以左右移动光标,按 j,k 可以切换前一条后一条命令。x可以修改字符,”$, ^”可以返回命令尾部或头部,i 可以返回编辑模式。