2014年7月

虽然 Ubuntu Unity 本身已经是一款很漂亮的桌面了,但世界各地还是有很人被 Mac OS X 的外观所震撼。如果您恰好是其中之一,要获得 Mac OS X 一样外观体验,是不需要丢掉 Ubuntu 的,相反,您可以对它来个美化改造,使 Ubuntu 14.04 看起来就像 Mac OS X

让 Ubuntu 14.04 看起来像 Mac OS X

要使 Ubuntu 美化成 Mac 的样子,我们得使用 Zukimac 主题。

  • 从后面的链接获得 Zukimac 主题包:下载 Zukimac Theme for Ubuntu 14.04
  • 解压下载的 Zip 包,解压后会出现 Zukimac 和 Zukimac-ml 两个目录文件。把这些目录拷贝到您的 home 目录下的 .themes 文件夹中。进入 Home 目录中,按下快捷键 Ctrl+H 可以显示所有隐藏的文件,如果没有 .themes 文件夹,需要创建一个。
  • 使用 Unity Tweak Tool 来改变主题.

就这些操作。Zukimac 提供了一些基本的 Mac OS 系统的外观和视窗感觉。下面是带有默认的 OS X Maveric 壁纸的外观。

Make Ubuntu 14.04 look like Mac OS X

Ubuntu 14.04 中获得更多 Mac 体验

通常,您可以安装像 Plank 或 Docky 这样的 dock 启动面板。在 Ubuntu 14.04 中要安装 Plank 可以使用下面的命令:

sudo add-apt-repository ppa:ricotz/docky
sudo apt-get update
sudo apt-get install plank

安装完 dock 启动面板后,您也可以安装 Synapse indicator 来代替模拟 Mac 中的 Spotlight。使用来自于 Noobslabs 的 PPA 源来安装 Synapse indicator,如下示:

sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install indicator-synapse

不想安装上面的两软件的话,您也可以安装 Slingscold launcher,用来代替模拟 Mac OS X 的启动面板。在 Ubuntu 14.04 中,使用上面提到的 Noobslabs 的 PPA 源来安装 Slingscold 启动面板,如下示:

sudo add-apt-repository ppa:noobslab/apps
sudo apt-get update
sudo apt-get install slingscold

老实说,我是个狂热的 Ubuntu 迷,我喜欢 Ubuntu 默认的 Unity 主题样式外观。此外,还有很多关于 Ubuntu 14.04 的漂亮图标主题样式 可用来美化默认的外观。但正如我上面提到的仍有很多用户喜欢 Mac OS X 的主题样式,我希望这篇文章能帮助到他们,使其能把 Ubuntu 14.4 装扮成 Mac OS X 的样式。


via: http://itsfoss.com/ubuntu-1404-mac-zukimac-theme/

译者:runningwater 校对:wxy

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

Git 2.0.2如今已正式发布。这是一个免费和开源的分布式版本控制系统,因其处理速度和效率的优势,它可以处理大大小小各种项目。

新的Git 2.0.x分支保持着带来大量更新的传统,它整合了大量的改变和修正。这个最新的更新只是维护版,但是它的功能特性的确有一些有趣的修改。

根据开发者的描述:"git submodule sync(git子模块的同步)"的文档中提到的子命令可以使用"--recursive"(递归)的选项;在.gitignore中跟踪引用反斜杠的空格的处理不当已经被纠正;对"git repack"命令的更新,将不再错误地复制那些被.keep标签标记的pack目录下的对象。

还有,"git clone -b brefs/tags/bar"不再认为git遵循一个单一的tag,尽管它是一个分支的名称;"%G(G后面没有跟任何东西)"是一个无效的漂亮的格式说明符,现在的解析器不再对它进行解析;用于避免增加相同替代对象的存储的代码经过了两次修正,而且其余的几个修正也已经完成。

想要查看完整的改变列表,查看changelog

下载Git 2.0.2:


via: http://news.softpedia.com/news/Git-2-0-2-Version-Control-System-Now-Available-for-Download-451147.shtml

译者:su-kaiyao 校对:wxy

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

如果你需要和多时区时间打交道的话,你一定希望你的电脑时钟可以显示多个时区的时间。作为一个移居国外的人,我需要关注法国和印度的时间。在Ubuntu系统中,你可以进行简易的设置来添加多时区时间。

在这次的使用技巧中,我们会了解到 如何在Ubuntu 14.04系统中添加多时区时间

在Ubuntu 14.04系统中添加多时区时间

打开系统设置(按下标有微软徽标的按键,在Dash中搜索“系统设置”),进入“时间&日期”选项。

接下来,进入时钟标签页,找到其他时区时间选项,然后点击选择地区按钮。

Add multiple timezones in Ubuntu

在新打开的窗口中,你可以输入一个地区,之后相应的结果会在下面显示出来。选择你想添加的地区,然后点击下面的加号标志(+)来添加。

Adding timezone in Ubuntu

完成了这些工作之后,你就可以在系统时钟处看到其他地区的时间了。

multiple timezone displayed in Ubuntu 14.04

体验下Ubuntu多时区时钟给你带来的便捷吧。:)


关于 Abhishek

我叫Abhishek Prakash,是It's F.O.S.S的创始人。我获得了通信系统工程硕士学位。我是一个狂野的Linux爱好者和开源痴迷者。我在使用Ubuntu系统并且希望和大家分享知识和经验。出了Linux,我还很喜欢经典侦探悬疑电影。我是阿加莎-克里斯蒂的超级粉丝。你可以在Google Plus上添加我到你的好友圈,也可以在twitter上关注 @abhishek\_pc


via: http://itsfoss.com/add-multiple-timezones-ubuntu-1404/

译者:JonathanKang 校对:wxy

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

SosreportRHEL / CentOS上的一个命令,它会收集系统配置和你linux机器上的诊断信息,如正在运行的内核版本、加载的模块和系统和服务配置文件之类的信息。这个命令同样可以运行外部的程序来收集更多的信息,并存储这些输出到一个结论文档中。

Sosreport在你需要获得redhat的技术支持时需要它。Redhat的支持工程师会要求你服务器上的sosreport来用于故障排除。

要运行sosreport,需要安装sos 包。sos包是大多是linux的默认安装包中的一部分。如果因为某种原因没有安装,那么运行下面的yum命令来安装sos 包 :

# yum install sos 

生成报告

打开终端输入sosreport命令:

# sosreport 

这条命令正常情况下会在几分钟里完成。根据本地配置,在某些情况下,某些选项可能需要更长的时间才能完成。一旦完成,sosreport将在/ tmp目录目录中生成一个压缩文件。不同版本使用不同的压缩方案(** gz,bz2,或xz**)。该文件应提供给红帽的支持代表(在开放的情况下通常作为附件)。

注意:sosreport需要root权限才能运行。

sosreport命令中不同的选项:

sosreport命令有一个模块化结构,并允许用户启用和禁用模块,并通过在命令行指定模块。要列出可用的模块(插件),请使用以下命令:

# sosreport -l

要禁用一个模块,用逗号隔开的列表传给-n/–skip-plugins选项。比如要kvmand 、amd这两个模块:

# sosreport -n kvm,amd

各个模块可以通过-k选项提供额外的选项。例如,在Red Hat Enterprise Linux 5中安装的sos rpm模块默认收集“rpm -Va”的输出。因为这是个耗时行为,因此可以通过下面的命令禁用:

# sosreport -k rpm.rpmva=off 

via: http://www.linuxtechi.com/how-to-create-sosreport-in-linux/

译者:geekpi 校对:wxy

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

请记住它是为喜欢折腾的人准备的只要35美元的计算机

我永远不会忘记我第一次看到树莓派的情形。那个小巧的,信用卡大小的计算机,性能却足够强劲,可以作为一般家用PC,媒体中心,电视游戏机,或是其他任何你能够想像的东西。只有35美元的价格,它是任何年龄段的动手爱好者都可以拥有的小东西,可以在上面捣腾硬件和软件试验,而不用担心会弄坏昂贵的家庭电脑。

Eben Upton,是树莓派基金会的共同创始人,通常被誉为这个神奇机器背后的魔法师。在剑桥大学的计算机实验室攻读哲学博士学位的时候,他费尽苦心地手工打造了树莓派的原型机。

如今,Upton是树莓派基金会下面贸易公司的CEO,监督着树莓派的生产和销售,目前销量已经达到250万台。

天上的派

ReadWrite网: 一开始是什么让你对技术这么感兴趣?它又是如何偶然地引导你创建树莓派项目的?

Eben Upton: 在我还是孩子的时候就开始对技术感兴趣了。我有个对工程技术有很大兴趣的父亲,他自己不是工程师,而是一个英语老师。我们的房子里经常到处堆着各种电子器件,在还不知道这些东西是干嘛的时候,我就开始摆弄了。都是些小玩意,比如在床头装个灯,在“关灯”后还可以继续看书之类的。

之后我有了一台计算机。在英国,我们把这种机器叫做BBC微计算机,实际上是8位单片机,做教学用的。我们在学校的时候接触到这种机器,我之后就学会了编程,而且还蛮喜欢的。

这些机器在学校里并不一定是用来编程的,或者说他们根本不是用来编程的,一般都运行教学软件。但是我却给它编程,之后我还买了一台回家,在我买了这台BBC微机后,我就泡在了房间里,再没出来过。[笑]

编程对于小孩来说太神奇了。当你还是小孩的时候,并没有太多力量。没有听话的随从,反而身边有很多的限制。编程最伟大的地方在于,这是一个可以让你随心所欲的小世界。而这当然让我无法抗拒。

我一直都对科学和数学,以及理科感兴趣。我在我的BBC微机上做了大量的计算和编程,之后我拥有了一台Commodore Amiga。

在大学里我学习了物理,工程和计算机科学。这是激发树莓派项目想法的原因,因为当我在学校呆了10年的时候[当时在读博士学位],我发现那些新来的孩子们在他们小时候并没有机会获得这方面的经验。你也许仍然能拥有乐高玩具,但是它不是我们要的梯子。

在一定程度上我们把身后的梯子撤掉了。我们造出了这些非常复杂而且用户友好的计算机给小孩使用,或者不仅仅是计算机,还包括电视游戏机,电话和平板,以及一些家用电器。但是,人们却没有机会自己动手改一改。所以实际上,树莓派是回到最初的一种尝试,当然也不会过于原始,希望找到在过去25年里计算机发展中迷失掉的那种感觉。

RW: 你需要克服的最大的障碍有哪些?

EU: 好吧,我们没有任何投资者,当然这也是一件好事情。我们从2006年就开始尝试做这件事情,你可以看到它花了我们很长时间才把树莓派从一个想法变成一件能卖的东西。在价格和性能之间或是价格和可编程性之间找到平衡,是一件很重要的事情。

另外一件麻烦事是募集资金。我们是非营利组织,所以我们得去找人赞助,而这最后都变成了董事会中的几个人自掏腰包。我们有25万美元的启动资金是从我和其他几个成员自己借的。所以我觉得,当初这样做还挺有勇气。

从东方到西方

为了找到价格合适的生产方式,我们选了一条不同寻常的路线。通常人们生产更传统的产品时,当量不大的时候都会选择在本地生产,然后[制造商]再制定较高的价格。大多数都能获得比树莓派丰厚的利润。

所以他们开始会在西方生产。然后,为了追求更高的利润,当产品有一定的量就会想减少生产成本,所以转到远东地区。

我们的问题是,因为我们没有足够的利润来支撑这种模式的订单,所以我们在中国制造了第一批产品。当然一开始会有一点不好的预感。我一点也不了解中国制造,最后,我们把价值5万美元的芯片和5万美元现金交给一个香港人,他需要还给我们2000片可以工作的树莓派。

之后交期出现了延时,我们甚至都开始相信自己被骗了。然后终于有一天,现在250万台树莓派中最早的2000台放在托板上来到了门口。

那个UPS快递员从卡车里拖出一个托板,并拉到我们车库里。托板上放着2000台树莓派,它们中每一台都比我小时候用过的计算机强多了。我们随机抽查了几台,都可以完美地工作。

所以我觉得还挺幸运,中国你懂的。然后我们的产品终于开始有量了,我们选择了跟其他所有人不同的方向。我觉得这是这个项目中的另一个决定性时刻,我们认识到,以目前的订单量,我们可以用和在中国同样的成本在西方生产。所以我们可以回归,把所有的生产制造搬回威尔士,也是我出生的地方。像是一个美妙的圆圈。

RW: 有没有一些树莓派的前身没有被制造出来的?

EU: 有的,我们做了许多不同的原型机。我们希望做出一个可以编程,也能吸引小朋友兴趣的东西。“吸引小朋友兴趣”意味着,在某些方面要足够强大。比如,播放视频,玩游戏,以及上网。

我们有许多能够达到价格目标和可编程目标的原型,但是等我们确定一个合适的方案,它足够强大能够吸引孩子们的热情,已经挺晚了,都到2010年底2011年初了。

派是从哪儿烤好的

RW: 跟我们说说发明树莓派的故事

EU: 我们尝试过基于所谓的微控制器技术做了几台机器。不知道你有没有听过一个叫Arduino的[开源电子原型]平台?它们的性能跟Arduino是一个级别的,优点是很容易买到,是常用的元器件,非常便宜,也很容易掌握。

所以我们试了一下。最后的成品只能从技术上来说还是计算机,你可以把它接到电视机或其他显示设备上。但是,它太原始了,很明显不能吸引孩子们的兴趣。这个是一号原型机,它在爱尔兰一家博物馆的叫“失败”的展览中展出[笑]。我下个月会去看看。它现在被装载一个玻璃盒子里,作为一次辉煌失败的典型。

好的一面是它是手工制作的,你不可能手工制作一块现代的树莓派。但是,这个原型太原始了,你实际上可以把所有器件手工焊接到一起,它就是我一个星期里做好的,是个挺好的小玩具。

我在大学里呆了差不多10年以后,进入到一家叫Broadcom的公司工作,总部在南加利福尼亚但是在剑桥有个大办公室,主要生产手机芯片。然后,我意识到这种手机芯片非常适合,它是制作像派这样的设备的非常合适的平台,因为它有优秀的图形性能。

我基于Broadcom开发工具制作了一个原型。这次的原型非常强大,也有更多功能,价格也差不多。不过问题是,它有一套定制的开发环境,而不是一个标准的平台。

我们得写自己的SD卡驱动,自己的文件系统,自己的文本编辑器。你会发现你得做大量基础工作,虽然最后你能够得到一个强大的可编程的平台,但是它却是完全非标准的[而且]和其他设备完全不一样。从而无法重用那些已经在台式机系统中已经做过的工作。这个是二号原型机。

真正的突破是三号原型机。我们从Broadcom拿到了另一种应用了ARM处理器的芯片,可以直接运行标准Linux。我们意识到终于可以做出能够满足所有的需求的机器了,这就是我们推向市场的产品。

黑一黑下一代黑客

RW: 八岁的孩子就开始用树莓派做项目了。这在你意料中吗,还是说让你意外了?

EU: 八岁是很好的年纪。我想每个人都会把自己开始编程的年龄定义成合适的年龄。我就是八岁开始编程的。某种程度上来说,孩子们所需要的只是年龄大到拥有相对完整的认知技能,或者说是解决问题的技能。也许在学校学一点数学就够了。

年龄大到可以计划任务,编程就是终极的计划任务。还是得有一定的智力基础去做这个事情。八岁的时候,大多数孩子在自己的思维上已经非常成熟了。另外还需要敏捷的身手,对更小的孩子来说还存在一个问题就是,他们还不够灵巧去使用键盘。

所以说,八岁是很好的年纪。你有合适的身体,有合适的心智,而且还处于生命中能轻松学习新知识的时候。你的大脑还具有非常大的可塑性,可以学习语言。。。

我的意思是,你要是想让你的小孩学习法语的话,八岁就开始教他,不要等到16岁才开始。正式的计算机教育有一个历史性的缺点,就是太晚开始了,然后就很惊讶为何学生们理解起来概念有困难。所以我认为越早接触越好,而八岁是奇妙的年纪。八岁,十岁,十二岁,十二岁可能都有点晚了。

我们基金会的CEO,Lance [Howarth],对初级教育特别热心。他真的认为这是一个实际的机会来做点非常特别的事情。

RW: 所以这是树莓派项目的目的,让小孩子们编程?

EU: 我想我们一直认为可以让孩子们玩编程只是举个例子。但是树莓派的目的是把这个东西做出来看看谁会买它。我们一直相信至少有一部分年轻的孩子会觉得它令人激动。现在我们已经有知识宽度和规模来支持孩子们玩它了。

[仅仅]做出一个像树莓派的平台和提供相关支持是有很大区别的,如果只是做出来的话,你会发现有1%的八岁孩子会喜欢它并且玩起来,不管你提供多或者少的支持。

我觉得现在基金会的一个实际的机会是,我们已经可以承担得起开发教材了,我们还可以提倡培训这方面的教师。有个机会是我们可以吸引比1%更多的孩子。还有个机会是吸引那些没有独自处理复杂技术问题倾向的机灵小孩。如果能够提供良好的教程和让他们感兴趣的教材,就能够吸引10%,20%,50%,甚至更多的孩子。

我们认为80年代是[学习编程]的黄金年代,而实际上,只有很少一部分人学习编程并达到一定深度。大部分人也许可以写个几行,但是能够编写大型程序的还是很少见。

所以我认为我们目前有一个实际的机会,因为我们可以参与到教材和教师培训的级别,我们也许可以超越80年代。现在有更多的参与者,两性之间也更平等。在80年代,编程很大程度上是男孩们的事情,而这也能反映到我们的工程师社区构成上。我觉得现在有个很好的机会,让更多的女孩子接触电脑编程。这个是挂在枝头上垂得最低的果子了,做到这个,人数马上增加了一半。

机会有很多,我对树莓派最满意的地方就是我们已经有点规模可以吸引部分人的注意了。

每个人的派

RW: 关于像派这样的项目的潜在需求,对于你来说意味着什么?是不是有一天我们都会变成DIY黑客?

EU: 是的,我意思是,就是这样的。有非常大的这种需求。而且我认为有一条通向制作者社区的纽带。美国的制作者社区比英国成熟多了。我们也确实在举办制作者集会和黑客空间,但是差不多比美国落后了5年左右。

所以在开始讨论树莓派之后我发现了一件事情,在它获得国际关注的时候,我们发现我们受到一些非常稳定的社区的成员的追捧,他们喜欢各种各样的DIY活动:编织,或者,你知道的,木工。

所以,这也是为树莓派带来意外增长的其中一个因素。制作者们把它当作用来构建自己项目的模块。这太棒了!

RW: 你怎么看现在出现的主流硬件黑客文化?

EU: 我觉得,这太美妙了,不是吗?这是在软件工程领域里完全无法想到的。我接触这些之前就有软件背景,所以,实际上人们用树莓派制作的大多数很酷的东西都是硬件相关的,让我很惊讶。当然现在没那么吃惊了,不过一开始是有的。

我认为这是非常积极的趋势,基于所有这些因素。因为它给孩子们带来了相关的经验。在我看来,在屏幕上移动一下像素还是很酷的,不过事实上,它没有像80年代那样酷了。我觉得,在现实世界里移动一些物体,比如机器人,对于现在的孩子来说是非常酷的。

当有更多实用性的时候,就会吸引更多的女孩。确实存在一种潜在趋势,尝试和设计针对女孩子的科技活动。不过实际上这并不是关于女孩子,而是关于扩展用户的迫切要求。

有这样一小段-我之前谈过的关于有1%的小孩会觉得抽象的计算机编程很有趣。“让我们开始学习变量!”我就是他们其中一个。但是,那只是很小一部分,而且看起来更大部分是男孩子。我不知道是不是文化因素或其他的,但是看起来这个世界就是这样的。

在人们谈论追求实用性来吸引女孩子的时候,根本不关女孩子的事。而是吸引那一小部分男孩之外的所有人。不仅仅吸引女孩,也包括其他男孩。

从教育的角度来看有一件美妙的事情是,在现实世界里应用计算机做点实际的东西,自然而然会比仅仅在计算机本身上面做点事情有用多了。所以,这就提供了一个方式来吸引女孩子进入这个领域,同样也可以吸引更多的男孩子进入这个领域。

不再是一个人很好。能够加入到这波兴趣的浪潮中,和许多制作现实世界东西的人一起,也是很精彩的事情。我认识一个南加利福尼亚的小伙,他有两个兴趣就是倒腾派和制作他的锁链甲。有人做这些事情本身就是一件很美妙的事情。

分享你的派

RW: 关于吸引比1%更多人的“实用”项目,能举个例子吗?

EU: 整个机器人技术领域就是个很好的例子。有很多人基于派来制作小型机器人,让它们四周跑跑或做点事情。特别是现在,我们增加了摄像头模块,可以一定程度上实现计算机视觉。

我觉得其他基于摄像头的项目也会变得更活跃。那些从事野外摄影的人们,以及从事缩时摄影的人们,因为有了这个25美元的摄像头模块,应用范围宽了许多。还有红外版本的模块,所以你可以在晚上拍摄野生动物-写脚本在晚上拍摄相片,然后选择保存里面包含了动作的。这些都非常好。

我特别喜欢应用到高空气球的任何项目。环境监控-有一些英国的高中学生在IndieGoGo发起了一个叫AirPi的项目,这是一个污染监控防御系统,底层将用到树莓派。所以会有许多这样的项目,你可以用派来处理物理的,或化学的,或者生物的事情。-这些都是我认为有实用性的事情。这种项目也更容易向孩子们证明,这是值得他们关注的项目。

RW: 我们什么时候可以看到树莓派C型?

EU: 暂时还没有计划。我们目前都还在处理软件工作。我觉得我们还有机会通过调整软件来大幅提升系统性能,再优化一下。

如果我们现在就启动制作C型,将会抛弃250万使用目前平台的用户。所以我觉得,至少现在,我们决心要继续软件工作,因为这可以帮到所有已经在这个领域里的人。我们感觉通过软件优化还有很大的性能提升空间。

显然,我们同时也必须做一点[硬件方面]的事情。我真的不知道具体在什么时候。如果到了2017,2018,我们还在销售树莓派B型的话,那也挺糟糕的。但是,我认为我们也许在一年后再认真考虑后面要做什么。

RW: 很多人的项目同时用到了派和Arduino(一个DIY电子调试工具套件)。你在设计派的时候,有考虑类似Arduino的工具吗?

EU: 实际上没有,但是我们很早就意识到,媒体可能会倾向于把我们和Arduino看作竞争者。对于这件事情我们有点多疑,我觉得,因为我认为派和Arduino分别处理不同的事情,而且他们都做得很好。

我们并没有把它设计成配合Arduino工作,但是Arduino被设计成配合家用PC一起工作。所以,我们实际上为Arduino制作了一台非常低功耗的家用PC。所以好吧,只是巧合,我猜。

RW: 你在家里用树莓派做什么?工作中呢?

EU: 在家里,我把它当作一个媒体中心;这是树莓派一个非常普通的应用。有趣的事,有些从事消费电子的人,把它当作消费电子来用。我当然也是其中之一。

在工作中,我总是没有我想要的那么多时间来玩玩树莓派。通常在工作的时候如果在用派的话,那是因为我需要测试刚拿到的一些软件更新。大多数时候我用它来检查我花钱请的承包人是否把工作做好了。

我真心希望明年会有更多休息时间。有时我感觉,除了媒体中心之外,我参与制作了这么神奇的玩具,但是因为它太成功了,我都没有时间去好好玩玩它。

不过,看到这么多的人喜欢它,看到它被出现在各种不同的地方,也是很开心的。我听说在《生活大爆炸》中提到了我们,我要去找找是哪一集。它出现在所有的这些不可思议的地方。真是非常开心,看到这么多人把它放在心上,开始用它做点事情。

承蒙树莓派基金会提供Eben Upton的图片;

树莓派图片来自Flickr用户:Johan Larsson, Clive Darra, Pete Sneekes, Luca SbardellaAshley Basil


via: http://readwrite.com/2014/04/08/raspberry-pi-eben-upton-builders

译者:zpl1025 校对:wxy

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

NeoBundle 是一个 Vim 的插件管理器,以 Vundle 为基础(Vundle 是一个基于 Pathogen 的 Vim 插件管理器)。在之前的文章中,我非常不推荐使用 Neobundle,原因是它当时还处于高速开发阶段(LCTT:意味着不稳定、变数大),并且当时它的英文文档很少。现在,已经过了一年多了,这两个问题都早已不再是问题。

我们为什么要使用插件管理器?Vim 支持大量插件,但是由于它没有严格定义框架,插件的文件可以胡乱分布在不同目录下,导致用户管理起来会很困难(LCTT:当然,前提是你有很多插件,还有点小小的强迫症,觉得理一理这些插件心里会舒服点)。而一款插件管理器能让管理变得简单许多。Pathogen, Vundle 和 NeoBundle 的工作就是为不同插件建立一个目录,然后将这些目录扔到 ~/.vim/bundle 目录下。这个文件整理方法可以让你方便彻底地删除插件,使用 'rm -rf <插件目录>' 或直接在文件管理器里面把插件所在的目录删除就可以了,绝对绿色环保无残留。同时,这种方法还能最大程度避免插件与插件之间的不兼容性。

NeoBundle 是一个基于 Vundle 的项目,如同 Vundle,它们都可以安装和升级插件。然而 NeoBundle 的说明文件上明确指出:“NeoBundle 不是一个稳定的插件管理器,如果你想要一个稳定的,请选择 Vundle”。最新的 release-note 上也有警告“可能会造成兼容性问题”——这是一个开发者写的注解,说明这个管理器还不能让人放心使用。

所以,我们为什么要使用 NeoBundle?它都不能保证稳定运行!好吧,它还是有可取之处的。Vundle 只支持 Git 这种版本控制系统,而 NeoBundle 可以支持 SubversionMercurial。另一个原因是如果你不想插件升级时破坏你的 Vim 生态环境,你可以锁住 NeoBundle,让它只使用某个插件的固定版本。

另外,NeoBundle 创建者,Shougo Matsuishita(LCTT:名字看着像日本人),正在将它的命令接口添加到其他插件项目,以便减少他们的命令使用量。现在 NeoBundle 支持3种插件:unite.vim,Vim 使用的文件和缓存管理器;vimshell.vim,Vim 使用的脚本程序;vimproc.vim,运行于 vimshell.vim 中,用于对异步事件的支持。上面说的都是特殊案例,缺少英文文档,所以用户希望有人能完善它们。在正式使用它们之前,我们需要把注意力先集中在一些基本操作上。

安装并初始化 NeoBundle

NeoBundle 支持 Vim 7.2.051 或更高版本,需要 git 和 cURL(用于下载文件)。你可以手动下载 NeoBundle,也可以使用 cURL 下载它在 GitHub 上的库。在你的 home 目录下使用如下命令,可以将 NeoBundle 插件下载到 .vim/bundle/neobundle.vim 目录里,然后 NeoBundle 就能管理它自己了。

curl https://raw.githubusercontent.com/Shougo/neobundle.vim/master/bin/install.sh | sh

你还需要修改 .vimrc 文件。NeoBundle 的 GitHub 主页提供一个 .vimrc 范本,但是直接使用这个范本,NeoBundle 需要你安装5个可能不需要插件。如果不需要它们,你可以使用下面的最小配置:

if has('vim_starting')
set nocompatible    
set runtimepath+=~/.vim/bundle/neobundle.vim/
call neobundle#begin(expand('~/.vim/bundle/'))
NeoBundleFetch 'Shougo/neobundle.vim'
call neobundle#end()
filetype plugin indent on

上述配置的作用是:启动 NeoBundle 并且像其他插件一样升级自己。NeoBundle 默认从 GitHub 下载并升级,如果你正好在使用 GitHub,你只需要为这个插件指定维护者的用户名和路径。在上面的配置中,NeoBundleFetch 只需要指定为“Shougo/neobundle.vim”,而不是完整的 GitHub 路径。如果你想使用其他网站,比如是 Subversion 或 Mecurial 的网站,你就需要添加完整的 URL。

如果你想安装其他插件,你可以使用下面的命令:

curl -k https://github.com/[项目维护者]/[插件路径] > ~/.vim/bundle/[插件路径]

举个例子:你想安装 vim-abolish,一个超级 NB 的文本搜索和替换插件,就使用下面的命令:

curl -k https://github.com/tpope/vim-abolish > ~/.vim/bundle/abolish

如果要让它自动升级,在 NeoBundleFetch 那行下面添加一行:

NeoBundle 'tpope/vim-abolish'

再介绍一个小技巧:你可以为插件指定一个分支或版本号。什么意思?NeoBundle 只会使用这个插件的某个分支或版本,而忽略其版本更新。如果你使用的某个插件处于高速开发过程,你就可以使用这个技巧,避免用到有 bug 的插件版本。举个例子:

NeoBundle 'Shougo/vimshell', { 'rev' : '3787e5' }

还有一个技巧:在 .vimtc 文件内添加一行关于“NeoBundleCheck”的属性。NeoBundle 会根据配置检查没安装的插件,并提示你安装它们。你也可以使用命令“:NeoBundleInstall”(LCTT:这是要在 Vim 编辑器的命令模式下输入)来安装或升级插件。

NeoBundle 用法

很多 NeoBundle 命令用起来和 Vundle 类似,但命令的名字不一样。下面是 NeoBundle 命令的用法:

  • :NeoBundleUpdate:安装或升级插件,如果你手动把一个插件的目录删除了,这个命令会重新安装这个插件。在这个命令后面加上插件名称,就只升级一个插件;不加参数,会将所有己安装但没被记录在案的插件给记录下来。:NeoBundleInstall 命令效果相同。
  • :NeoBundle {REPOSITORY URI} [[REVISION}] [,OPTIONS}]]:将一个插件锁定到固定版本,防止胡乱升级。
  • :NeoBundleList:列出所有未初始化的插件。
  • :NeoBundleClean:进入交互界面,删除插件。

这些命令在配合 unite.vim (LCTT:就是上面举过的32个例子之一)使用时,效果会稍微有些出入。你可以使用“:help neobundle”命令了解更多信息。

是否使用 NeoBundle,自己决定

NeoBundle 是强大的工具,正处于高速开发状态。任何处于这种状态的项目,都会被帖上“有前途”和“不稳定”两个标签,看你自己怎么选。如果你想要最新的稳定版本的插件,NeoBundle 能够把 Vundle 和 Pathogen 甩出几条街。

然而在线帮助文档已经给出警告,它不是个稳定的产品,不及时更新版本可能造成一些插件运行出错。最后,你需要在 .vimrc 文件为你的 Neoundle 和其他插件指定一个稳定的版本。记住这警告,然后你可以在使用这些尖端技术产品时游刃有余。


via: http://www.openlogic.com/wazi/bid/348084/Managing-Vim-extensions-with-NeoBundle

译者:bazz2 校对:wxy

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