• 9
  • Mar

近来,我接连看了两篇有关Mac OS X的文章,受益匪浅。这两篇文章分别是:《为什么我认为每个程序员都应该用Mac OS X?》和《开发人员为何应该使用 Mac OS X 兼 OS X 小史》。

早在2007年8月(几乎是Ubuntu Tweak开发的同一时间),我就开始在自己的电脑上尝试Mac OS X了(黑苹果,见此《被点名秀桌面》)。当时玩的Mac OS X还是Tiger,玩的也十分肤浅,但是已经深深地被其所吸引。虽然后来因为各种原因,回归Linux。但对其一直相当向往。

因此在事隔差不多快三年后,当阅读了开头提到的两篇文章后,我才恍然大悟,Mac OS X不仅仅有一个精致的UI,更关键是其拥有一个相当先进的底层架构设计,其中包含了强大的应用程序通讯机制。

正巧受Venmos的照顾,得其闲置MBP一台,得以有幸再度进入Mac OS X的世界探索,并撰得此文。

本文仅以一日常应用案例来说明Mac OS X为什么强大。

案例背景

作为一个开发者,平常经常上网搜索各种代码,或者查询API的用法。大多数情况下,是将搜索到的代码块,复制粘贴进自己喜欢的编辑器,然后再开始编译、运行或调试。

之前我是如何进行的

之前,在Linux平台下,作为一个Vim控,我一般是这样操作的,假设此时没有打开Vim:

  • 在浏览器窗口,用鼠标选中我需要的代码块;
  • 可选:按下Ctrl+C,将代码块复制进剪贴版;
  • 打开终端,进入Vim,或者也可以直接开GVim;
  • 按下Shift+Ctrl+V,或者直接点击鼠标中键,将处于剪贴版的内容复制至Vim中。

整个过程完成,相信不少朋友也是像我一样操作的吧。

到了Mac OS X平台,这些就变得简单了。

Mac OS X是如何解决的

得益于Mac OS X底层统一的“服务”支持,这个操作基本上只要两步即可完成,当然,在Mac上,我用的不是传统的Vim,而是MacVim。

这里先用图片来演示:

演示的浏览器是Safari,我先选中的一块代码

Safari Window

选中后我点选菜单,直接选择“服务”->“New MacVim Buffer With Selection”,意思将选中的区域在MacVim中创建新的Buffer。

Safari Service

当我点下按钮的时候,MacVim随即启动,选中的文本已经在里面呈现出来了。

Mac Vim Window

上面是用鼠标点选的形式来进行的,你可能觉得效果反而不如Ctrl+C和Ctrl+V高。这倒不是,我只是先用图形表现一下而已。

真正灵活的地方在于,你可以为任意的“服务”设定一个快捷键。这也就是之前说,在Mac OS X,做类似的任务,只需要简单的两步即可:即“选中”和“按键”。

Mac Vim Service

这只是一个最简单的案例,表现力似乎还不这么强。如果你根据第二张图再发散一下:在这个操作系统里,任意能选中的文字,均可以非常方便地来进行“便笺创建”、“Google搜索”和“词典查询”等常用的任务,是不是真的能提升你的工作效率呢?

事实上,越复杂的任务,用Mac OS X来完成,就越轻松。就像在Unix命令行里面,我们经常用各种CLI工具,将一连串的输入输出窜起来,完成复杂的事情一样。

在下只是一个Mac OS X的初级用户,如有不正确之处,还请众高手指正。

我的结论

可能大多数像我一样的Linux用户会认为,Mac OS X不过是UI比较精致罢了,并没有特别牛逼的地方。

事实上,用过才知道,Mac OS X的UI,不仅表现在外表,更是内在,图形脚本化最彻底的,非Mac OS X莫属了。

同样作为一个重度Linux用户,这些年眼见Linux的快速发展,大量优秀应用软件的出现(如GNOME Do),特别是将于今年末发布的GNOME 3,将会有一个革命性的变化。

尽管GNOME有大量的地方是向Mac OS X学习的,但是也有不少创新的地方。

在dbus桌面通讯技术已经应用的比较多的基础上,GNOME还将在3代中引入GTK+3,Clutter(类似CoreAnimation),另外还有GObject Introspection的这个灵活和丰富的语言环境运行时,届时GNOME也会有什么样的新面貌呢?让我们拭目以待吧!

Tags: GNOME, Mac OS X.

» You can leave a comment.

20 Comments

  1. 团队里有人买了麦(MBP)
    我也体验到了麦的强大..
    不止是做前端,还有程序也是一样.

    之前都认为麦是美工的.现在我可以说,麦是所有人的

    • Linux Fans

      mac下很多东西很垃圾。列如只能复制不能剪切,要么非要打开2窗口托动。。
      还不支持增量copy。这点windows和Linux都做到了。但mac~~~

  2. 一开始说的是mac桌面,最后还能引回linux gnome上,tx你真行。

  3. hong

    linux的Gnome Do可以做同样的事,而且可以做的更多

  4. KDE 下面也可以方便的创建各种 service,不过貌似很多都只能在文件管理器里面的右键菜单上用。

  5. 我在想,其实“用脚本把选区的文本弄到新启动的vim里,再绑定个快捷键”,其实linux也是可以做到的,不过mac连这个也做成图形化菜单,果然是很贴心。

  6. wangjl

    不觉得方便复制粘贴代码是什么光荣的事情

    • vast

      复制粘贴代码,每个程序员都要做的事情,方便难道有错,好的东西应该学习。

  7. absolute8511

    我想知道那个服务菜单如果换做其他浏览器是不是还有啊,比如用chrome?其他所有程序都有么?

    • 是的,基本上所有应用程序的文本框都可以这么做,不过Chrome有点特殊,暂时不支持,可能是测试版的原因。

  8. 哈哈,作为一个Mac控....gnome-do在mac下有个类似的软件....Quicksilver .....哈哈...TX可以去尝试体验他的强大.....

  9. 我也想要一台苹果机!的确是实用和美观相结合

  10. 滴答

    汗。。。说来很巧,我今天正好看了你说的第一篇文章,然后就在你这看到这个了。哈哈

  11. 改变用户体验还算是相对简单的,改变人们的思维和行动方式才是革命性的。

  12. brownian.walker

    很好的功能,用了以后感觉确实不错,但还没好到把所有程序员都拉到Mac上的地步。

  13. blader

    恩,是挺好的,除了他糟糕的文件系统。。。

  14. ccc

    linux下,选中,到编辑器或XXX,中键
    好像比你这个还简单。。。

  15. Bob

    习惯问题
    用windows的人肯定认为Ctrl+C和Ctrl+V效率高

Leave a Comment