原文: http://www.xialeizhou.com/?p=71

高效MacBook工作环境配置

本文记录整个配置过程,供新入手MacBook和觉得MacBook比较难用的同学参考。

1. 硬件提升

笔记本电脑的特点是携带方便,缺点是屏幕太小,因此你首先需要再申请领用一个外接显示器,多一个屏幕会大大减少你切换应用程序的次数,显著提升你的工作效率,别忘了同时申请一个Mini DP转VGA的转接头用于连接显示器。为了配合多显示器,后面会推荐一个软件来管理多显示器窗口。

如果你资金宽裕,可以买个机械键盘和无线鼠标,进一步提升工作效率。

2. 系统设置

2.1 将功能键(F1-F12)设置为标准的功能键

MacBook键盘最上面一排的功能键(F1-F12)默认是系统亮度和声音之类的快捷设置,当MacBook作为你的娱乐电脑时,这样的默认设置是非常方便的,但是对于将MacBook作为工作电脑而且需要频繁使用功能键(F1-F12)的人,最好将功能键(F1-F12)的行为设置为标准的功能键。

首先打开System Preferences,点击Keyboard图标,勾选上Use all F1, F2, etc. keys as standard function keys。以后如果你要调节音量,就按住键盘左下角的fn键再按F11或者F12。


图2.1-1

2.2 设置Trackpad(触摸板)轻触为单击

当你首次使用MacBook,是否会觉得触摸板一点都不顺滑?那是因为你需要做如下设置。
打开System Preferences,点击Trackpad图标,勾选Tap to click选项,现在手指轻轻一碰触摸板,就达到鼠标单击的顺滑效果。

2.3 将Dock停靠在屏幕左边

为什么要将Dock停靠在屏幕左边?MacBook的屏幕是一个长方形,如果你将Dock放在下面,那么屏幕的可用宽度就会减少,另外人眼阅读时的顺序是从左往右,因此Dock放在左边更适合将MacBook作为工作电脑的人。

打开System Preferences,点击Dock图标,

  1. 将图标的Size调到合适大小
  2. 关闭Magnification特效(即鼠标放到Dock上图标放大的效果,此效果干扰注意力)
  3. Position on screen一栏,选择Left
  4. 勾选Minimize window into application icon


图2.3-1

2.4 全键盘控制模式

全键盘控制模式是什么? 举一个例子,如下图所示,我正在写一个文档,此文档还没有保存,也没有文件名,如果不不小心点了关闭按钮,将会弹出一个对话框:


图2.4-1

当前,[Save]按钮处于默认激活状态,按回车将会弹出保存对话框。但是如果我不想保存呢? 只能通过鼠标或者触摸板来移动光标后点击[Don't Save]来取消保存。那我能不能通过键盘控制光标激活[Don't Save]按钮呢? 答案是肯定的,做一个简单设置就好。

如图,首先打开System Preferences,点击Keyboard图标,选择Shortcuts这个Tab, 选中All controls


图2.4-2

现在当我再次试图关闭一个未保存的文件时,新弹出的对话框如下,有了些许变化,在[Don't Save]按钮上多了一个蓝色的外框,当你按键盘上的tab键的时候,蓝色的外框会在3个按钮间切换。 假设现在蓝色的外框在[Don't Save]按钮上,你按下回车,却发现系统依然进入了保存文件对话框,为什么蓝色的外框不起作用呢?那是因为蓝色的外框选中的按钮是由空格键触发的,当你按下空格键,系统就会不保存文件直接退出。 这样当你不方便使用鼠标和触摸板的时候,可以更快速的和你的MacBook交互。


图2.4-3

2.5 快速锁定屏幕

如果你长时间离开电脑,最好锁定你的屏幕,以防止数据泄露。 那如何快速的锁定你的MacBook呢? 答案是只需要一摸触摸板或者一甩鼠标就可以了。

  • 打开System Preferences,点击Desktop & Screen Saver图标,选择Screen Saver这个Tab,再点击Hot Corners...,在弹出的如下界面里面,右下角选择Put Display to Sleep,点击OK确定。
    图2.5-1
  • 再打开System Preferences,点击Security & Privacy图标,在GeneralTab内,勾选Require password[immediately] after sleep or screen save begins


图2.5-2

现在当你离开电脑前时,记得一摸触摸板或者一甩鼠标将光标快速的移到屏幕的右下角,MacBook将立刻进入Screen Saver模式并且需要密码才能进入桌面。

3. 系统常用快捷键

点击这个文档,学习系统快捷键,适当使用快捷键将会提升你的工作效率。

4. 日常软件推荐

4.1 中文输入法

系统自带的输入法不是很好用,推荐安装搜狗输入法或者RIME输入法。安装完成后,打开System Preferences,选择Keyboard,切换到Shortcuts这个Tab下,勾选Select the previous input source,并点击上述文字后面的空白处,设置快捷键为Ctrl+Space(即如图所示的^Space)。


图4.1-1

4.2 窗口管理软件 - SizeUp

  1. 你是否经常想让某个Word文档占满屏幕的左半部分,旺旺聊天占满屏幕的右半部分,从而一边对着文档一边和小伙伴聊需求?
  2. 终于搞好了外接显示器,你是否经常将某个窗口在笔记本和外接显示器屏幕之间直接来回拖动?

SizeUp快速解决这样的需求,该软件可以永久免费试用,下载安装后打开SizeUp,再打开旺旺,快捷键按下control+option+command + M,则旺旺就会立即进入全屏模式。

然而大部分情况下,你会看到如下这个提示,这是因为SizeUp需要你的授权才能控制窗口。


图4.2-1

直接点击Open System Preferences或者打开System Preferences,点击Security & Privacy图标,在PrivacyTab内,点击Accessibility,然后将SizeUp加到右边的列表里面。(提示:你可能需要先点击右下角的黄色锁,输入密码后才能编辑右边的列表。)


图4.2-2

如果你此时接上了外接显示器,快捷键按下control+option + 方向键右键,则当前左边显示器激活的最前端窗口将被立即发送到右边的显示器。

下面列举一些SizeUp常用的快捷键,更多的快捷键和使用方式请查询其官方网站

  • control+option+command + M : 使当前窗口全屏
  • control+option+command + 方向键上键 : 使当前窗口占用当前屏幕上半部分
  • control+option+command + 方向键下键 : 使当前窗口占用当前屏幕下半部分
  • control+option+command + 方向键左键 : 使当前窗口占用当前屏幕左半部分
  • control+option+command + 方向键右键 : 使当前窗口占用当前屏幕右半部分
  • control+option + 方向键左键 : 将当前窗口发送到左边显示器屏幕
  • control+option + 方向键右键 : 将当前窗口发送到右边显示器屏幕

4.3 查找文件和应用程序以及无限想象力 - Alfred

如果你曾经使用过MacBook,你应该接触过Spotlight,就是屏幕中间弹出一个长条输入框,你输入文件名或者应用程序名,Spotlight将模糊查找到对应的候选项,按回车快速的打开你需要的文件或程序。

Alfred的能力远远超过了Spotlight, 你可以直接下载免费版安装使用,Alfred另外还提供了更强大的工作流(Workflows)和剪切板(Clipboard)管理等高级功能,需要购买Powerpack。对于日常的操作,免费版已经足够使用了。

因为Alfred可以完全取代Spotlight,下面先删除Spotlight占用的快捷键command + 空格,以供Alfred将来使用。

打开System Preferences,选择Keyboard,切换到Shortcuts这个Tab下,点击Spotlight,取消对应的2个快捷键设置。


图4.3-1

打开Alfred,在菜单栏点击Alfred图标,打开Preferences...


图4.3-2

如下图所示,设置Alfred的快捷键为command + 空格


图4.3-3

现在按下快捷键command + 空格,输入ali,则Alfred不区分大小写的将所有包含ali的应用程序,文档以及历史网址都列出来了,如下图所示,回车打开淘云盘command+2打开本地一个xmind文件,你还可以移动键盘上下键或者光标来选择目标。


图4.3-4

更多关于Alfred的使用方式和无限想象力,请参考官方网站或者网上现有的大量的教程。

下面简单演示一下剪切板管理厂内查人工作流的使用。如下图所示,我使用快捷键打开剪切板管理器,列出来我最近复制过的文本片段,我可以快速的选取这些文本片段或者输入部分字符来查找


图4.3-5

当你安装了由@文通开发的厂内查人workflow后,激活Alfred,输入r+空格,再输入某人的花名,就可以看到对方的简单信息。

  • 回车打开阿里内外对方信息页面
  • ctrl+回车,直接打开对方旺旺进入聊天模式


图4.3-6

4.4 聪明又美丽的日历 -- Fantastical 2

打开Fantastical 2的网站,你一定会被她漂亮的外表所吸引,最可贵的是Fantastical还很聪明,当你在日历里面新建一个提醒的时候,输入如下内容“HTML training at 7:30pm tomorrow alert 5 min”, 则Fantastical会自动将日期设置为明天,然后将开始时间设置为晚上7点半,并且提前5分钟提醒,是不是很聪明?


图4.4-1

4.5 来杯免费咖啡 -- Caffeine

今天下午给大老板和重要客户演示PPT,你仿佛看到了升职加薪走上人生巅峰,当你打开MacBook接上投影仪,口若悬河的讲解,突然MacBook进入休眠模式了,画面太美了,我不敢想了。

你应该立刻安装这款免费的良心软件---Caffeine,设置开机启动,点一下状态栏的咖啡杯图标,当咖啡是满的时候,MacBook将不会进入休眠模式,再点一下咖啡杯空了就正常休眠,我默认设置开机启动,咖啡杯保持满满的状态。

4.6 快速切换和打开应用程序 -- Manico

MacBook系统默认设置了一个快捷键来显示当前运行中的应用程序,同时按下tab + command,将看到如下图的样式:


图4.6-1

如果你想要却换到Firefox,需要再按一下tab,如果要切换到日历,需要按两下‘tab’,如果一次性打开10几个应用程序,你经常需要按十几下tab才能却换到想要的程序。

Manico专为这个场景而设计,安装好后打开,默认快捷键是按住option,如图所示,此时按下数字7就能快速打开编号为7地图


图4.6-2

另外,推荐设置Manico使用左手边的字母加数字做索引,方便仅仅用左手就能快速切换应用程序。在菜单栏点击Manico图标,打开Preferences..., 在AppearanceTab里面,选择Uses left hand areaUse numeric and alphabet


图4.6-3

4.7 随心所欲的复制粘贴以及无限想象 -- PopClip

  • 日常工作中,你有多少次是从一个应用程序复制一段文本然后粘贴到另外一个地方?
  • 有多少次是复制一个网址然后打开浏览器粘贴到地址栏然后回车打开?
  • 有多少次是复制一个名词,然后打开浏览器找到搜索引擎来搜索?

这些重复的操作模式都是可以简化的,你唯一需要的就是PopClip,当你选中一段文字(如下图,选中“当日收益”),PopClip就会弹出来一个快捷操作栏,你可以复制,剪切或者粘贴,更为强大的是,PopClip提供了很多免费的插件,例如使用指定的搜索引擎搜索选中的文字,或者选中英文单词做大小写转换等等。


图4.7-1

需要注意的是,PopClip需要你的授权才能弹出快捷状态栏,直接点击Open System Preferences或者打开System Preferences,点击Security & Privacy图标,在PrivacyTab内,点击Accessibility,然后将PopClip加到右边的列表里面并且勾选前面的checkbook。(提示:你可能需要先点击右下角的黄色锁,输入密码后才能编辑右边的列表。)

4.8 增强资源管理器 -- XtraFinder

MacBook自带的资源管理器(Finder)已经可以满足一般的需要,但是当你有大量文件维护操作后,你就需要一个更强大的Finder。XtraFinder完全集成到Finder里面,你根本感觉不出它是一个第三方的应用程序,同时还提供很多增强特性,比如:

  • 像浏览器那样的标签页(Tab)
  • 支持双操作面板(Panel)
  • 增强的全局快捷键,例如新建文件(New File)等
  • 多彩的侧边栏图标
  • 快速在当前文件夹打开终端
  • 快速在当前文件夹新建文件


图4.8-1

4.9 随心所欲的全键盘控制 - Shortcat

在系统设置里面,我介绍了全键盘控制模式,但是此模式只能做简单的按钮控制,无法达到随心所欲的控制。下面介绍一款比较geek的软件,Shortcat帮助你完全使用键盘来控制系统,供有键盘强迫症的同学使用。


图4.9-1

4.10 来杯鸡尾酒 -- Bartender

如果你看到这里,相信你已经被我推(hu)荐(you)的安装了一排软件,你的系统状态栏已经人满为患,有时候会因为当前激活的应用程序的菜单比较多挡住你要点击的状态栏图标,这个时候你需要一个酒保来帮你调理一下状态栏,Bartender将是我推荐的最后一个日常使用的App,你可以自定义隐藏某些不常用的状态栏图标,特别适合处女座强迫症。


图4.10-1

5. 开发环境配置

终于到了开发环境配置阶段,在配置开发环境前,建议先将OS X系统升级到最新版,同时去Mac App Store下载最新版的Xcode,然后使用下面的命令安装Xcode command line tools,这将为你安装很多终端下面常用的命令,将来很可能会使用到:

 xcode-select --install 

5.1 命令行终端Terminal

在用户界面没有发明前,终端Terminal曾经是计算机的唯一交互方式,就算到了今天,很多服务器仍然只提供终端登陆来操作,作为开发测试运维相关人员,在日常工作中合理使用终端将大大提高工作效率。

5.1.1 替换系统默认Shell -- Oh My ZSH!

Bash作为大多数系统默认安装的Shell,大家都多少有所接触,Zsh和Bash类似都是一个Shell,但是Zsh更注重用户体验和与人的交互,OS X默认也安装好了Zsh,然而你想自己从头开始配置一个顺手的Zsh是比较浪费时间的,有人已经帮我们配置好了,这个流行的Zsh配置叫---Oh My ZSH!,直观的效果如下图所示,代码开源在github


图5.1.1-1

  • 切换默认Shell到Zsh

Mac OS X默认已经安装好了Zsh,你可以打开终端,输入zsh --version来确认,如果没有安装,请参考这个文档

打开终端输入下面的命令,切换默认Shell为Zsh:

chsh -s /bin/zsh 

关闭终端重新打开后,你将默认使用zsh作为终端Shell。然而你会发现,终端并没有变得多酷炫,接着往下走,安装Oh My ZSH!

  • 安装Oh My ZSH!

打开终端输入下面的命令:

sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)" 

耐心等待一会儿,然后你就会发现你的终端变成了彩色的了。


图5.1.1-2

你可以修改终端的Profile,选择深色背景profile,这样就比较炫酷了。如果你对默认的Oh My ZSH的配色不满意,请参考这里找到你喜欢的配色。

5.1.2 替换系统默认终端 -- iTerm 2

如果你经常使用终端,那么推荐你使用iTerm 2来替代系统自带的终端。关于iTerm 2的特性,请看这里

这里我只介绍一个小技巧,我想设置一个快捷键假设为F12,在任意场合,我按一下快捷键F12就弹出终端,输入一些命令执行后,再按一下F12终端就自动隐藏,这对经常使用终端的人,例如经常ssh连接服务器的人来说实在太方便了。

设置过程如下:

  • 系统已经默认将F12分配给Show Dashboard,需要先取消这个设置。

打开System Preferences,选择Keyboard,切换到Shortcuts这个Tab下,点击Mission Control,取消对应F12的快捷键。

图5.1.2-1

  • 打开iTerm的Preferences..., 在ProfilesTab里面,点击下面的[+]添加一个新的profile,为什么要新建一个profile?答案是为了定制将来弹出的终端样式和大小等等参数。新的profile假设命名为guake,(注:guake这个名称是为了向Linux下的Guake终端致敬),你可以自己任意起个名称,下面会用到。


图5.1.2-2

再切换到WindowTab下,将StyleScreenSpace这3个值设置和下图一样。


图5.1.2-3

再切换到KeysTab下,设置如下图所示的HotkeyF12。


图5.1.2-4

现在你按下F12,就立即得到一个占满全屏的黑色命令行终端,再按一下F12隐藏终端,非常的方便。

5.2 终端下的命令管理 -- Homebrew

Mac App Store你一定非常熟悉了,它可以帮你下载和安装大部分常见的软件。

在终端下,我们也需要一个App Store一样的管理程序,当你需要安装某个终端下的新命令的时候,这个程序可以帮助我们自动下载该命令以及相关的依赖,甚至在下载以后做必要的编译和环境设置。

Homebrew就是这样一款终端下的命令程序包管理器,安装非常简单,复制如下命令在终端下运行,按回车并输入密码后等待安装成功:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" 

下面是安装截图:


图5.2-1

curl和wget是命令行下面常用的命令,其中curl已经默认安装在OS X中了,但是wget没有默认安装,下面演示如何使用Homebrew来安装wget。

brew install wget 

下面是运行截图:

图5.2-2

5.3 终端下管理非终端软件 -- Homebrew Cask

因为Apple不允许第三方的浏览器进入Mac App Store,如果你想要安装Google Chrome,只能去Google网站下载后运行安装文件。这一类App Store没有的非终端下的软件能不能享受Homebrew一样的命令行安装的便捷性呢?

Homebrew Cask就是这样一款终端下的程序管理器,它扩展了Homebrew,作为Mac App Store的有益补充,方便你快速维护日常软件的安装升级和卸载,复制如下命令在终端下运行,按回车后等待安装成功:

brew install caskroom/cask/brew-cask 

下面是运行截图:


图5.3-1

那如何使用Homebrew Cask来安装Google Chrome呢? 首先使用chrome作为关键字查找一下:

> brew cask search chrome ==> Partial matches chrome-devtools chrome-remote-desktop-host chromecast google-chrome 

上面的命令运行后列出了4个候选项,很明显最后一个google-chrome就是我们要安装的,继续输入

> brew cask install google-chrome 

下面只需要稍微等一会儿,最新版的Google Chrome就乖乖的安装在你的MacBook里面了。

5.4 Java开发环境搭建

5.4.1 安装Java和Maven

现在OS X没有默认安装JDK,如果你在终端输入java,系统会引导你到Oracle网站去下载,然后自己点击下载文件来安装,这个过程一点都不酷,而且不能自动化。现在你有了Homebrew Cask,只要输入如下命令,Java就可以自动安装好啦。

brew cask install java 

现在最近版本的JDK是1.8,Homebrew默认安装最新版软件,如果你要安装非最新版的JDK,那么去Oracle网站下载吧,Homebrew的多版本支持不是很好用。

同样的,输入如下命令来安装Maven最新版。

brew install maven 

在开发中,你很可能会碰到这个错误java.security.InvalidKeyException: Illegal key size or default parameters,那是因为美国对出口软件加密算法长度的限制,你需要去如下链接下载补丁包:

补丁替换路径为${java.home}/jre/lib/security/,大约如下所示:

/Library/Java/JavaVirtualMachines/jdk1.8.0_51.jdk/Contents/Home/jre/lib/security 

5.4.2 安装版本控制软件 -- SmartGit & SmartSVN

如果代码就是生命,版本控制系统就是时光机。GitSubversion分别是现在最流行的2个版本控制系统,SmartGitSmartSVN分别是他们的一个第三方客户端,当然他们有很多第三方客户端,我觉得SmartGit和SmartSVN是最好用的。

5.4.3 安装和配置IDE -- IntelliJ IDEA

IntelliJ IDEA作为最智能的Java IDE,推荐所有Java开发人员使用,你可以在这里下载安装文件,或者使用如下的Homebrew Cask命令来下载安装:

brew cask install intellij-idea 

打开IDEA,推荐选择Darcula主题,快捷键映射选择I've never used IDEA, 一路确认下去进入主界面。

推荐使用版本控制客户端(SmartGit & SmartSVN)下载好源代码后,再使用IDEA导入源代码,原因是如果用IDEA来checkout源代码,一边checkout一边分析代码,对于有多个模块的Maven项目,IDEA动态检测Spring框架的配置文件可能会得不到及时而完整的依赖分析。


图5.4.2-1

我们假设项目是基于Maven的,如下图,选择Maven

图5.4.2-2

一路点击[Next]进入主界面,IDEA会帮我们自动检测到依赖的框架,如图IDEA发现我们使用了OSGI和Spring框架,点击[Configure],然后去除OSGI依赖,因为SOFA项目不是完全实现OSGI规范的,勾选Spring配置文件。


图5.4.2-3

IDEA会在你首次导入一个项目的时候建立索引,耐心等待索引建立完成,之后的查找就会非常快速。

6. 工具的意义

工欲善其事,必先利其器,工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快速准确的完成工作和学习任务而服务。

[转载] 高效MacBook工作环境配置的更多相关文章

  1. [转载] 高效 MacBook 工作环境配置

    原文: http://mp.weixin.qq.com/s?__biz=MjM5NzMyMjAwMA==&mid=208231200&idx=1&sn=8a76ddc56c1f ...

  2. 高效 MacBook 工作环境配置

    转自:https://mp.weixin.qq.com/s/sloc6HgKcosXtWcbMB_5hA 工欲善其事,必先利其器,工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快 ...

  3. 高效 MacBook 工作环境配置,超实用!

    作者:正鹏 & 隃墨 http://www.xialeizhou.com/?p=71 前言 工欲善其事,必先利其器,工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快速准确 ...

  4. 打造高效前端工作环境 - tmux

    打造高效前端工作环境 - tmux 前言  现在前端开发可不容易啊,先打开个VIM,然后再打开个lite-server,一不小心写个ES2015还要打开个gulp来做预编译,如果能把这么多个窗口放在一 ...

  5. 打造高效的工作环境 – SHELL 篇

    注:本文由雷俊(Javaer/Emacser)和我一起编辑,所以文章版权归雷俊与我共同所有,转载者必需注明出处和我们两位作者.原文最早发于酷壳微信公众号,后来我又做了一些修改,再发到博客这边. 程序员 ...

  6. 【转载】NetFPGA-1G-CML从零开始环境配置

    ##环境 深度Linux ###环境配置 ```bash sudo apt-get install libsigc++ sudo apt-get install qgit sudo apt-get i ...

  7. 打造高效前端工作环境-tmuxinator

    前言  虽然tmux能让我们方便组织工作环境,但每次重新打开会话时都需要手动重新创建窗口.窗格和执行各种程序,能不能像VS那样以工程为单位保存窗口.窗格和各种所需执行的程序的信息呢?tmuxinato ...

  8. (转载)Go语言开发环境配置

    一.我为什么要学习go语言 当今已经是移动和云计算时代,Go出现在了工业向云计算转型的时刻,简单.高效.内 置并发原语和现代的标准库让Go语言尤其适合云端软件开发(毕竟它就是为此而设计的).到2014 ...

  9. git命令行工作环境配置【转】

    转自:http://www.cocoachina.com/ios/20171115/21163.html 本文为CocoaChina网友whf5566投稿 前言 笔者一直使用git的图形化工具sour ...

随机推荐

  1. Python升级Yum不能使用解决

    1.系统版本 [root@vm10-254-206-95 ~]# cat /etc/issue CentOS release 6.4 (Final) Kernel \r on an \m 2.系统默认 ...

  2. js获取事件源

    js获取事件源:  1.       event.srcElement.nodeName   //获取事件源对象,但是火狐不支持event 2.      

  3. symfony中twig的模板载入

    模板 载入模板 {% include ‘sidebar.html’ %} 当前模板的变量也会传递到 被include的模板里,在那里面可以直接访问你这个模板的变量. {% for comment in ...

  4. 在ubuntu上搭建turnserver

    这边文章的目的:搭建turnserver,设定开机启动 1.下载turnserver的源码,最新的地址https://code.google.com/p/rfc5766-turn-server/ no ...

  5. Ramsey theorem in Combinarotics

  6. 2012年"浪潮杯"山东省第三届ACM大学生程序设计竞赛--n a^o7 ! 分类: 比赛 2015-06-09 17:16 14人阅读 评论(0) 收藏

    n a^o7 ! Time Limit: 1000ms   Memory limit: 65536K  有疑问?点这里^_^ 题目描述 All brave and intelligent fighte ...

  7. ListView Animation

    简单介绍一下4种动画效果方式AnimationSet set = new AnimationSet(false); Animation animation = new AlphaAnimation(0 ...

  8. php修改和增加xml结点属性

    <?xml version="1.0" encoding="UTF-8" ?> <clientSet> <server url=& ...

  9. 第二课 android项目结构

  10. SqlSever基础 right函数 从右边开始,截取字符串

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...