Thursday, October 20, 2011

【转】一个好的GIT分支管理发布模式

该文讲述了一个很好的GIT开发和发布模式,参考公司现在的SVN开发模式,觉得可以建议公司把SVN转成GIT了,GIT的分支模式比起SVN强的不知道多少倍。

Bitbucket现在也支持GIT了,自己以后的在bitbucket上的项目尽量用git来管理,等学习熟练了就做一个好的建议给老板,让把SVN换成git。

Friday, October 14, 2011

【小技巧】从text文件里面提取邮箱地址

   1: perl -wne'while(/[\w-\.]+@[\w-\.]+\w+/g){print "$&\n"}' jira.email.txt

【小工具】png2ico创建程序图标

开发应用程序的时候要创建图标可以用这个小工具,主页地址

命令行程序,使用十分简单,先自己准备PNG格式的图像文件,可以准备不同大小的图像(16x16,24x24, 32x32, 48x48, 64x64).然后运行下面命令来创建ico文件

   1: png2ico favicon.ico logo16x16.png logo32x32.png

Thursday, October 13, 2011

设置HP DV6笔记本显示屏亮度

笔记本的亮度在Ubuntu里面不可以调整,Google了一下,找到了办法(原文),具体是写了一个script来调整

亮度1-10代表10%到100%

   1: clear
   2: echo "Enter a brightness value (1-10)"
   3: read brightness
   4: sudo sh -c 'echo $brightness > /sys/devices/virtual/backlight/acpi_video0/brightness'
   5: echo "Brightness set to $brightness."

Friday, October 7, 2011

Amazon Kindle 文件名中文显示的解决

买了Kindle一阵子了,买回来没有做任何改动,直接就可以看中文书,txt,PDF,mobi格式的中文书都可以看,只是如果书名是中文的话,显示有问题。今天网上逛,如意间看到解决办法,在自己的Kindle上试了,是可行的。方法如下

回到HOME的界面, 随便按什么按键,那个SEARCH BAR就会弹出来.输入下面的内容,因为是3行,要分3次输入,每行后面要按Enter键。注意大小写:

   1: ;debugOn 
   2: ~changeLocale zh-CN 
   3: ;debugOff 

输入完成后,需要到Setting里面去重启(restart)

Friday, September 30, 2011

用TortoiseSVN自动更新多个文件夹

公司的SVN目录比较多,一个项目往往有好几个目录(代码,文档,管理,二进制发布),每天手动更新各个文件夹是一件比较郁闷的事情,就上网找到了自动更新多个文件夹的方法

创建一个batch文件,内容如下

   1: @echo off

   2: FOR %%A IN (

   3:     "d:\arm\jk12\01-2012model-management\"

   4:     "d:\arm\jk12\02-2012model-specifications\"

   5:     "d:\arm\jk12\03-2012model-development-JK12\"

   6:     "d:\arm\jk12\04-2012model-firmware\"

   7:     "d:\arm\jk12\Scatter\"

   8: ) DO START TortoiseProc.exe /command:update /path:%%A /closeonend:1

batch文件里面的那些目录根据具体各人的具体情况要做更改,其中/closeonend是说更新完后要不要关闭更新窗口。运行这个batch就会打开多个更新窗口,等更新完毕,窗口会自动关闭。

下一步是做自动更新,要去Control Panel -> Scheduled Task->Add Scheduled Task, 然后按照步骤一步一步设置,选择执行前面那个batch文件。设置中最小周期是每天,所以要设置完后打开高级设置,里面设置成每15分钟执行,知道公司下班时间,这样从工作开始时间,到下班时间,系统会每15分钟执行一次batch文件来更新各个SVN文件夹。

Thursday, September 29, 2011

使用vgaswitcheroo解决笔记本电脑双显卡发热问题

买了笔记本后就安装了Ubuntu 11.04,不过每次进去Ubuntu,电脑都特别热,也没有去找问题的根源。这两天闲下来搜索了以下,发现是因为两个显卡都在工作,发热太厉害,网上也给出了解决办法,就是关闭一个不用的显卡。由于我一开始就安装了AMD的闭源驱动,所以找不到/sys/kernel/debug/vgaswitcheroo文件夹,这是搜索了一阵子才发现是因为闭源驱动造成的。于是卸载了闭源驱动,然后在内核启动的时候加上参数 radeon.modeset=1来开启AMD显卡,这样启动的系统就有了vgaswitcheroo文件夹,然后就可以开关其中一个显卡了。

具体改动:

1. 修改/etc/default/grub,添加radeon.modeset=1参数,然后执行 update-grub

   1: GRUB_CMDLINE_LINUX_DEFAULT="quiet splash radeon.modeset=1"
2. 创建一个可执行的Script,内容如下,这样就可以用用script来控制显卡开关,实际上可以把这个东西作成启动执行的,不过我现在还没有弄。
   1: SWITCH=/sys/kernel/debug/vgaswitcheroo/switch
   2: if [ $# -eq 1 ]; then
   3:     if [ "$1" == "low" ]; then
   4:         echo "Turning on low-power card."
   5:         sudo sh -c "echo DINT > $SWITCH"
   6:     elif [ "$1" == "high" ]; then
   7:         echo "Turning on high-power card."
   8:         sudo sh -c "echo DDIS > $SWITCH"
   9:     elif [ "$1" == "off" ]; then
  10:         echo "Turning off unused card."
  11:         sudo sh -c "echo OFF > $SWITCH"
  12:     elif [ "$1" == "st" ]; then
  13:         cat $SWITCH
  14:     fi
  15: else
  16:     echo "Commands: [low, high, off]"
  17:     echo
  18:     echo "Status:"
  19:     cat $SWITCH
  20: fi

Wednesday, September 28, 2011

读完 Adobe® Flex® 4.5 Fundamentals Training from the Source

因为想用FlashBuilder来开发跨平台的Mobile App,连续几天在读Adobe® Flex® 4.5 Fundamentals Training from the Source,今天读完。后面几个章节看的比较粗略,不过大概的东西都已经掌握,在实际开发的时候,如果遇到问题可以在回头看看。读完这本书后的总体看法是:这是一本不错的入门书,特别对于像我这种没有开发过ActionScript项目的人来讲。基本的东西都有讲到,而且是用一个实例一步一步引导直到把实例做成一个成品。因为是step by step guide, 有些内容不需要看太仔细,所以没有花几天就把500页的书看完了。

现在已经可以开始构建自己的程序,然后在项目开发中继续学习和完善自己的技能。

看的是PDF版本的,而且是蛮久以来真正意义上看完的一本英文技术书。在看的时候发现Foxit PDF Reader真的不错,自带的highlight 和comments功能很好,做的笔记还可以保存以后再拿出来看。

强烈推荐读PDF文档的人使用!!!

Tuesday, September 27, 2011

Create Flex 4.5.1 Offline HTML document

安装Flashbuilder的时候自带了Flex 4.5.1 SDK,想看API文档,没有HTML可以看,每次到网上去看很麻烦,Google了一下,可以自己在本地生成HTML文档,用ant编译Flex SDK目录厦门的asdoc文档。

因为Flashbuilder用的是Eclipse,自带了ant,如果电脑里面没有ant,要去下载一个。找到ant.bat的目录。 然后在cmd下面cd到asdoc文件夹,我的是C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\4.5.1\asdoc, 然后运行

path\to\ant.bat -DFLEX_HOME=../ -lib ../ant/lib/flexTasks.jar -f build.xml

其中path\to\ant.bat要是你自己电脑里面的ant.bat路径..

整个过程要好几分钟,耐心等待一下。完成后会在C:\Program Files\Adobe\Adobe Flash Builder 4.5\sdks\4.5.1\下面生成一个新的文件夹叫asdoc-output,打开index.html就可以看到api了。

Monday, September 26, 2011

国外的程序猿的收入

看到这篇文章,感触蛮多的,只要想方法,就可以赚到不少钱的。只要自己肯努力,肯动脑筋想方法,实际上网上有蛮多点子可以赚到一些生活费的。特别是在初期,有自己的工作,在工作之余用网上的方法赚一些小钱,等出名了,慢慢熟悉了,还是可以替代正式工作的。这是我现在的一个努力方向,要多向这些高手学习啊。

在Blogger里面加上Google+按钮

看网上说网页里面加上Google+按钮,可以增加被收索的几率,当然,前提是有人去按那个按钮。虽然偶的这个Blog基本上是写给自己的,不过还是在心里希望有很多人来看我的Blog(嘿嘿。。)

具体如何添加按钮,参考这里

Wednesday, September 21, 2011

把我的Moto Defy升级到了2.3.5 (CM 7)

参考网上的教材,把自己手里的Moto Defy升级到了2.3.5,数度就是不一样啊,很快,很流畅. 

具体步骤参考网站:

How to install Android 2.3.4 Gingerbread CyanogenMod 7 on Motorola Defy

Software Requires:

  • RSD Lite [Link].
  • Android froyo.sbf file if your device is Android 2.1 eclair [Link].
  • SuperOneClick v1.7 [Link].
  • CyanogenMod 7 ROM for Motorola Defy from XDA-Developers.
  • Google Apps for the CyanogenMod 7 from CyanogenMod.com.

Step for install CyanogenMod 7 on Motorola Defy

If you not need to flash new ROM or your device is Android 2.2 Froyo, you can go to step 5.

  1. [Computer], Install RSD Lite and open it.
  2. [Defy] Power off your phone, then  pressing power button and Volume Up keys.
  3. [Computer], On the RSD Lite you should browse the .sbf file then click start.
  4. Wait until the flash process completed.
  5. [Defy], go to settings -> Applications -> Development -> check the USB debugging.
  6. [Computer], Extract and run SuperOneClick then click Root.
  7. Wait until root process completed.
  8. [Defy], Go to market and install Defy 2ndinit.
  9. Open Defy 2ndinit and install 2ndInit Recovery.
  10. After it succeeds the top LED will green, then go to settings -> Applications -> Development -> uncheck the USB debugging.
  11. Reboot your device 2 time.
  12. [Computer], Copy cyangenmod7.zip and googleapps.zip to the root of your sd card.
  13. [Defy], Reboot your device, when the blue led lights at Motorola logo, press Volume Down to enter Bootmenu.
  14. Go to “Set Default Bootmode” then select [2ND INIT BOOT].
  15. Go to “[Custom Recovery] start”.
  16. You should to take a backup of the existing ROM using the Backup option.
  17. Select “wipe cache partition” then “wipe data/factory reset”.
  18. Select “install zip from sdcard”, “choose zip from sdcard”, then select “cm7.1.0-RC1-jordan-signed.zip”
  19. Select “choose zip from sdcard” then select “gapps-gb-20110613-signed.zip”
  20. Select “+++++Go Back++++++” then “reboot your system now”.

Monday, September 19, 2011

已完成用Python解决经典100问

之前说过要用Python的方法来做经典100问,现在基本已经完成,其实不能说完全完成,因为有一些问题是只有C代码才有的,还有一些是Consol的字符控制,不需要去练习。

通过前面一些问题,还是学习了不少东西。做了这些问题,Python基本是入门等级了,可以写一些东西,不过对于Python的精髓还是不怎么了解,还要通过做一些Project来边做边学。

 

现在有另外一个想法,想在GAE上写一个App,来看我投资性质的保险里面基金的价格走势,还可以提供一些Email Alert,因为GAE提供了这个App所需要的一切元素,又是免费的。

需要的而google也有提供的服务:

cron: 定期去保险公司网站上拿最新的价格数据,放在数据库里面(url fetch)

Python Framework

Email sending

Database

Google Chart for price trend

Wednesday, September 7, 2011

(ZZ)简明 Vim 练级攻略

点击查看原文

vim的学习曲线相当的大(参看各种文本编辑器的学习曲线),所以,如果你一开始看到的是一大堆VIM的命令分类,你一定会对这个编辑器失去兴趣的。下面的文章翻译自《Learn Vim Progressively》,我觉得这是给新手最好的VIM的升级教程了,没有列举所有的命令,只是列举了那些最有用的命令。非常不错。

——————————正文开始——————————

你想以最快的速度学习人类史上最好的文本编辑器VIM吗?你先得懂得如何在VIM幸存下来,然后一点一点地学习各种戏法。

Vim the Six Billion Dollar editor

Better, Stronger, Faster.

学习 vim 并且其会成为你最后一个使用的文本编辑器。没有比这个更好的文本编辑器了,非常地难学,但是却不可思议地好用。

我建议下面这四个步骤:

  1. 存活
  2. 感觉良好
  3. 觉得更好,更强,更快
  4. 使用VIM的超能力

当你走完这篇文章,你会成为一个vim的 superstar。

在开始学习以前,我需要给你一些警告:

  • 学习vim在开始时是痛苦的。
  • 需要时间
  • 需要不断地练习,就像你学习一个乐器一样。
  • 不要期望你能在3天内把vim练得比别的编辑器更有效率。
  • 事实上,你需要2周时间的苦练,而不是3天。
 

第一级 – 存活

  1. 安装 vim
  2. 启动 vim
  3. 什么也别干!请先阅读

当你安装好一个编辑器后,你一定会想在其中输入点什么东西,然后看看这个编辑器是什么样子。但vim不是这样的,请按照下面的命令操作:

  • 启 动Vim后,vim在 Normal 模式下。
  • 让我们进入 Insert 模式,请按下键 i 。(陈皓注:你会看到vim左下角有一个–insert–字样,表示,你可以以插入的方式输入了)
  • 此时,你可以输入文本了,就像你用“记事本”一样。
  • 如果你想返回 Normal 模式,请按 ESC 键。

现在,你知道如何在 Insert 和 Normal 模式下切换了。下面是一些命令,可以让你在 Normal 模式下幸存下来:

  • i → Insert 模式,按 ESC 回到 Normal 模式.
  • x → 删当前光标所在的一个字符。
  • :wq → 存盘 + 退出 (:w 存盘, :q 退出)   (陈皓注::w 后可以跟文件名)
  • dd → 删除当前行,并把删除的行存到剪贴板里
  • p → 粘贴剪贴板

推荐:

  • hjkl (强例推荐使用其移动光标,但不必需) →你也可以使用光标键 (←↓↑→). 注: j 就像下箭头。
  • :help <command> → 显示相关命令的帮助。你也可以就输入 :help 而不跟命令。(陈皓注:退出帮助需要输入:q)

你能在vim幸存下来只需要上述的那5个命令,你就可以编辑文本了,你一定要把这些命令练成一种下意识的状态。于是你就可以开始进阶到第二级了。

当是,在你进入第二级时,需要再说一下 Normal 模式。在一般的编辑器下,当你需要copy一段文字的时候,你需要使用 Ctrl 键,比如:Ctrl-C。也就是说,Ctrl键就好像功能键一样,当你按下了功能键Ctrl后,C就不在是C了,而且就是一个命令或是一个快键键了,在VIM的Normal模式下,所有的键就是功能键了。这个你需要知道。

标记:

  • 下面的文字中,如果是 Ctrl-λ我会写成 <C-λ>.
  • 以 : 开始的命令你需要输入 <enter>回车,例如 — 如果我写成 :q 也就是说你要输入 :q<enter>.

第二级 – 感觉良好

上面的那些命令只能让你存活下来,现在是时候学习一些更多的命令了,下面是我的建议:(陈皓注:所有的命令都需要在Normal模式下使用,如果你不知道现在在什么样的模式,你就狂按几次ESC键)

  1. 各种插入模式
    • a → 在光标后插入
    • o → 在当前行后插入一个新行
    • O → 在当前行前插入一个新行
    • cw → 替换光标所在位置的一个单词
  2. 简单的移动光标
    • 0 → 数字零,到行头
    • ^ → 到本行第一个不是blank字符的位置(所谓blank字符就是空格,tab,换行,回车等)
    • $ → 到本行行尾
    • g_ → 到本行最后一个不是blank字符的位置。
    • /pattern → 搜索 pattern 的字符串(陈皓注:如果搜索出多个匹配,可按n键到下一个)
  3. 拷贝/粘贴 (陈皓注:下面的P应该不分大小写)
    • P → 粘贴
    • yy → 拷贝当前行当行于 ddP
  4. Undo/Redo
    • u → undo
    • <C-r> → redo
  5. 打开/保存/退出/改变文件(Buffer)
    • :e <path/to/file> → 打开一个文件
    • :w → 存盘
    • :saveas <path/to/file> → 另存为 <path/to/file>
    • :x, ZZ 或 :wq → 保存并退出 (:x 表示仅在需要时保存,ZZ不需要输入冒号并回车)
    • :q! → 退出不保存 :qa! 强行退出所有的正在编辑的文件,就算别的文件有更改。
    • :bn 和 :bp → 你可以同时打开很多文件,使用这两个命令来切换下一个或上一个文件。(陈皓注:我喜欢使用:n到下一个文件)

花点时间熟悉一下上面的命令,一旦你掌握他们了,你就几乎可以干其它编辑器都能干的事了。但是到现在为止,你还是觉得使用vim还是有点笨拙,不过没关系,你可以进阶到第三级了。

第三级 – 更好,更强,更快

先恭喜你!你干的很不错。我们可以开始一些更为有趣的事了。在第三级,我们只谈那些和vi可以兼容的命令。

更好

下面,让我们看一下vim是怎么重复自己的:

  1. . → (小数点) 可以重复上一次的命令
  2. N<command> → 重复某个命令N次

下面是一个示例,找开一个文件你可以试试下面的命令:

  • 2dd → 删除2行
  • 3p → 粘贴文本3次
  • 100idesu [ESC] → 会写下 “desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu desu “
  • . → 重复上一个命令—— 100 “desu “.
  • 3. → 重复 3 次 “desu” (注意:不是 300,你看,VIM多聪明啊).
更强

你要让你的光标移动更有效率,你一定要了解下面的这些命令,千万别跳过

  1. NG → 到第 N 行 (陈皓注:注意命令中的G是大写的,另我一般使用 : N 到第N行,如 :137 到第137行)
  2. gg → 到第一行。(陈皓注:相当于1G,或 :1)
  3. G → 到最后一行。
  4. 按单词移动:
    1. w → 到下一个单词的开头。
    2. e → 到下一个单词的结尾。

    > 如果你认为单词是由默认方式,那么就用小写的e和w。默认上来说,一个单词由字母,数字和下划线组成(陈皓注:程序变量)

    > 如果你认为单词是由blank字符分隔符,那么你需要使用大写的E和W。(陈皓注:程序语句)

    Word moves example

下面,让我来说说最强的光标移动:

  • % : 匹配括号移动,包括 ({[. (陈皓注:你需要把光标先移到括号上)
  • * 和 #:  匹配光标当前所在的单词,移动光标到下一个(或上一个)匹配单词(*是下一个,#是上一个)

相信我,上面这三个命令对程序员来说是相当强大的。

更快

你一定要记住光标的移动,因为很多命令都可以和这些移动光标的命令连动。很多命令都可以如下来干:

<start position><command><end position>

例如 0y$ 命令意味着:

  • 0 → 先到行头
  • y → 从这里开始拷贝
  • $ → 拷贝到本行最后一个字符

你可可以输入 ye,从当前位置拷贝到本单词的最后一个字符。

你也可以输入 y2/foo 来拷贝2个 “foo” 之间的字符串。

还有很多时间并不一定你就一定要按y才会拷贝,下面的命令也会被拷贝:

  • d (删除 )
  • v (可视化的选择)
  • gU (变大写)
  • gu (变小写)
  • 等等
(陈皓注:可视化选择是一个很有意思的命令,你可以先按v,然后移动光标,你就会看到文本被选择,然后,你可能d,也可y,也可以变大写等)

第四级 – Vim 超能力

你只需要掌握前面的命令,你就可以很舒服的使用VIM了。但是,现在,我们向你介绍的是VIM杀手级的功能。下面这些功能是我只用vim的原因。

在当前行上移动光标: 0 ^ $ f F t T , ;
  • 0 → 到行头
  • ^ → 到本行的第一个非blank字符
  • $ → 到行尾
  • g_ → 到本行最后一个不是blank字符的位置。
  • fa → 到下一个为a的字符处,你也可以fs到下一个为s的字符。
  • t, → 到逗号前的第一个字符。逗号可以变成其它字符。
  • 3fa → 在当前行查找第三个出现的a。
  • F 和 T → 和 f 和 t 一样,只不过是相反方向。
    Line moves

还有一个很有用的命令是 dt" → 删除所有的内容,直到遇到双引号—— "。

区域选择 <action>a<object> 或 <action>i<object>

在visual 模式下,这些命令很强大,其命令格式为

<action>a<object> 和 <action>i<object>

  • action可以是任何的命令,如 d (删除), y (拷贝), v (可以视模式选择)。
  • object 可能是: w 一个单词, W 一个以空格为分隔的单词, s 一个句字, p 一个段落。也可以是一个特别的字符:"、 '、 )、 }、 ]。

假设你有一个字符串 (map (+) ("foo")).而光标键在第一个 的位置。

  • vi" → 会选择 foo.
  • va" → 会选择 "foo".
  • vi) → 会选择 "foo".
  • va) → 会选择("foo").
  • v2i) → 会选择 map (+) ("foo")
  • v2a) → 会选择 (map (+) ("foo"))

Text objects selection

块操作: <C-v>

块操作,典型的操作: 0 <C-v> <C-d> I-- [ESC]

  • ^ → 到行头
  • <C-v> → 开始块操作
  • <C-d> → 向下移动 (你也可以使用hjkl来移动光标,或是使用%,或是别的)
  • I-- [ESC] → I是插入,插入“--”,按ESC键来为每一行生效。

Rectangular blocks

在Windows下的vim,你需要使用 <C-q> 而不是 <C-v> ,<C-v> 是拷贝剪贴板。

自动提示: <C-n> 和 <C-p>

在 Insert 模式下,你可以输入一个词的开头,然后按 <C-p>或是<C-n>,自动补齐功能就出现了……

Completion

宏录制: qa 操作序列 q@a@@
  • qa 把你的操作记录在寄存器 a。
  • 于是 @a 会replay被录制的宏。
  • @@ 是一个快捷键用来replay最新录制的宏。

示例

在一个只有一行且这一行只有“1”的文本中,键入如下命令:

  • qaYp<C-a>q
    • qa 开始录制
    • Yp 复制行.
    • <C-a> 增加1.
    • q 停止录制.
  • @a → 在1下面写下 2
  • @@ → 在2 正面写下3
  • 现在做 100@@ 会创建新的100行,并把数据增加到 103.

Macros

可视化选择: v,V,<C-v>

前面,我们看到了 <C-v>的示例 (在Windows下应该是<C-q>),我们可以使用 v 和 V。一但被选了,你可以做下面的事:
Once the selection made, you can:

  • J → 把所有的行连接起来(变成一行)
  • < 或 > → 左右缩进
  • = → 自动给缩进 (陈皓注:这个功能相当强大,我太喜欢了)

Autoindent

在所有被选择的行后加上点东西:

  • <C-v>
  • 选中相关的行 (可使用 j 或 <C-d> 或是 /pattern 或是 % 等……)
  • $ 到行最后
  • A, 输入字符串,按 ESC。

Append to many lines

分屏: :split 和 vsplit.

下面是主要的命令,你可以使用VIM的帮助 :help split. 你可以参考本站以前的一篇文章VIM分屏

  • :split → 创建分屏 (:vsplit创建垂直分屏)
  • <C-w><dir> : dir就是方向,可以是 hjkl 或是 ←↓↑→ 中的一个,其用来切换分屏。
  • <C-w>_ (或 <C-w>|) : 最大化尺寸 (<C-w>| 垂直分屏)
  • <C-w>+ (或 <C-w>-) : 增加尺寸

Split

结束语

  • 上面是作者最常用的90%的命令。
  • 我建议你每天都学1到2个新的命令。
  • 在两到三周后,你会感到vim的强大的。
  • 有时候,学习VIM就像是在死背一些东西。
  • 幸运的是,vim有很多很不错的工具和优秀的文档。
  • 运行vimtutor直到你熟悉了那些基本命令。
  • 其在线帮助文档中你应该要仔细阅读的是 :help usr_02.txt.
  • 你会学习到诸如  !, 目录,寄存器,插件等很多其它的功能。

学习vim就像学调钢琴一样,一旦学会,受益无穷。

——————————正文结束——————————

对于vi/vim只是点评一点:这是一个你不需要使用鼠标,不需使用小键盘,只需要使用大键盘就可以完成很多复杂功能文本编辑的编辑器。不然,Visual Studio也不就会有vim的插件了

(全文完)

Sunday, September 4, 2011

新电脑上安装Ubuntu

昨天把新电脑的Recovery分区备份到DVD上,然后删除那个分区,把最大的系统分区Resize,创建了几个Logic Partition,然后安装了Ubuntu 11.04. 不过比较失望的是进入Ubuntu的时候一直黑屏,试了几次都是,因为时间比较晚了,就没有继续是试。

今天用Windows 7系统找了一个办法,竟然可行。就是在grub界面,加一个启动参数nomodeset,竟然可以进去了。然后在系统里面安装了ATI的驱动,升级了系统,然后再进入Ubuntu就没有什么问题了。不过好像在Ubuntu下面电脑有点小热。

新安装的系统,要安装配置一些东西,每次重新安装系统都要搞一遍,这里把一些零零碎碎的记下来,下次不用再去Google了。

PDF Evince不能看中文: sudo apt-get install poppler-data

SublimeText 2不能看中文:安装文泉驿字体, sudo apt-get install ttf-wqy-microhei ttf-wqy-zenhei xfonts-wqy, 编辑Base File.sublime-settings, 加上两行:

 

"font_face": "WenQuanYi Micro Hei Mono",

"font_size": 12

 

 

Friday, September 2, 2011

(ZZ)Sublime Text 2 入门及技巧

 用了sublime text 2有一段时间了,很喜欢这个小软件,从Pre Alpha用到现在Beta版本,一直处于试用版本状态,作者也很用心的一直在改进这个软件。现在缺失的我比较想要的功能是function list,ctags支持。8月31号的时候这个软件又有了更新,加入了基本的vim模式(超赞),看到下面这个文章,写的不错,就转过来。
=====================================================================
看了 Nettuts+ 对 Sublime Text 2 的介绍,立刻就兴奋了,诚如作者 Jeffrey Way 所说:“《永远的毁灭公爵》都发布了,TextMate 2 还没发”,你还能指望它么?TextMate 开发者的消极态度已经无法让人忍受了。而作为一款跨 OS X、Linux 和 Windows 三大系统平台的文字编辑器,Sublime Text 2 功能日进,大有取 TextMate 而代之的势头,
以下就将 Nettuts+ 的这篇文章做一粗略翻译,固然不是面面俱到,用做入门却是足够了。以下均是以 Mac 版本为主,但对 Windows 和 Linux 版来说也是相通的。

内容列表
换个耐看点些的图标
尝试开发版本
快捷的命令面板
即时的文件切换
多重选择(Multi-Selection)
缩进指示(Indent Guide)
安装包控制(Package Control)
对齐
Vim 模式
无干扰模式(Distraction Free Mode)
TextMate Bundle
主题
总结

换个耐看点些的图标

Sublime Text 2 目前还处于测试阶段,默认的黑方块图标看起来实在不够养眼,Nate Beaty 制作了一个不错的替代品
Sublime Text 2
Mac 下的替换方法:
  • 在 应用程序 目录中找到 Sublime Text 2,按住 Ctrl 并点击之,在弹出的菜单中选择“显示包内容”。
  • 进入 Contents/Resources/ 目录,用新下载的图标替换 Sublime Text 2.icns

尝试开发版本

Sublime Text 2 目前更新十分活跃,如果想要尝试最新的功能,建议下载并安装 dev 版本。
下载 Sublime Text 2 Dev 版

快捷的命令面板

Command Pallete
和 TextMate 类似,Sublime Text 2 也提供了很方便的命令调用方式:Command Palette(命令面板)。调用方法:直接在 Tool 菜单中选择Command Palette,或是用快捷键:Shift + Command + P,输入命令名称(中的字母)就可以实时搜索到相应的命令、选项、snippet 和 syntex, 按下回车就可以直接执行,减少了查找的麻烦。

即时的文件切换

File Switch
按下 Command + P(Mac) 或是 Ctrl + P(Windows),输入想要切换到的文件的文件名,都不用按下回车键,目标文件就已经展现在眼前了,虽然 Vim 配合 PeepOpen 也可以实现同样的功能,但速度却远没有这么迅速。

多重选择(Multi-Selection)

多重选择功能允许在页面中同时存在多个光标,让很多本来需要正则表达式、高级搜索和替换才能完成的任务也变得游刃有余了。看看 Nettut+ 提供的实例可能更为直观一些:
激活多重选择的方法有两种:
  • 按住 Command 或 Alt,然后在页面中希望中现光标的位置点击。
  • 选择数行文本,然后按下 Shift + Command + L

缩进指示(Indent Guide)

缩进指示这个小功能可以让代码的层级关系更加清晰,在 Sublime Text 2 中,可以通过一个插件来实现这个功能。
Intent Guide
安装方法:
  • 下载 IndentGuides 插件。
  • 解压后,将文件夹重命名为 Indent Guides,并放入 Packages 目录中。找到 Packages 目录的简单方法是在 Sublime Text 2 的 Preferences 菜单中选择 Browse Packages
  • 重启 Sublime Text 2

安装包控制(Package Control)

上一条中的安装插件的方法是不是很麻烦呢?其实和 TextMate 可安装 Bundle、Plugin 一样,Sublime Text 2 也拥有良好的扩展功能,这就是安装包(Package);同样,就像 TextMate 有用来安装、升级、卸载 Bundle 的 GetBundles 一样,Sublime Text 2 也有其用来进行 Package 控制的插件:Sublime Package Control。通过 Sublime Package Control,安装、升级和卸载 Package 也变得轻松写意了。
安装 Package Control 的方法:
  • 打开 Sublime Text 2,按下 Control + ` 调出 Console
  • 将以下代码粘贴进命令行中并回车:
    import urllib2,os;pf='Package Control.sublime-package';ipp=sublime.installed_packages_path();os.makedirs(ipp) if not os.path.exists(ipp) else None;open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read())
    
    
    Console
  • 重启 Sublime Text 2,如果在 Preferences -> Package Settings中见到Package Control这一项,就说明安装成功了。
使用 Package Control 安装 Package 的方法将在后面用到的地方详述。

对齐

对于某些喜欢整齐的码农来说,看到下面这种情况可能是让其无法忍受的:
var joe = 'joe';
var johnny = 'johnny';
var quaid = 'quaid';

一定要改成这样才会安心:
var joe    = 'joe';
var johnny = 'johnny';
var quaid  = 'quaid';

TextMate 里也有这样的功能(Option + Command + ])可以自动实现以上的对齐过程,而在 Sublime Text 2 之中,一个 Sublime Alignment 插件也可以轻松实现。
以下就通过 Package Control 来安装这个插件:
  1. 按下 Shift + Command + P 调出命令面板。
  2. 输入 install 调出 Package Control: Install Package 选项,按下回车。
    Install
  3. 在列表中找到 Alignment,按下回车进行安装。
    alignment
  4. 重启 Sublime Text 2 使之生效。现在通过选中文本并按下 Shift + Command + A 就可以进行对齐操作了。
通过这个方法就可以简便的安装更多的插件,虽然目前的安装源中插件并不是很多,但相信以后会更加丰富的。

Vim 模式

是的,Sublime Text 2 dev 版已经支持 Vim 的编辑模式了,如果更喜欢 Vim 的编辑模式,可以通过以下方法来激活 Vintage mode:
  1. 按下 Shift + Command + P 调出命令面板。
  2. 输入 user global setting 调出 Preferences:User Global Settings,并按下回车。
  3. 这时会打开一个 Global.sublime-settings 的文件,如果是第一次修改,它应该是个空文件,把以下文本粘贴进去:
    {
    "ignored_packages": []
    }
    
    
  4. 保存这个文件,这时按下 ESC 键,再按下一些你熟悉的 Vim 命令,是不是很有亲切感?

无干扰模式(Distraction Free Mode)

现在的编辑器如果没有一个无干扰模式似乎都说不过去了,在 Sublime Text 2 中,只要按下 Control + Shift + Command + F 或是在菜单 View 中选择Enter Distraction Free Mode 就可以进入这个 UI 最小化模式了。如果是在用 Mac OS X Lion 的话,Sublime Text 2 还同时支持 Lion 的原生全屏模式。

TextMate Bundle

Sublime Text 2 很给力的一点就是它同时支持一些 TextMate 的 Bundle。
Sublime Text 2 对于 TextMate Bundle 中的 Snippet 有着良好的原生支持,把 Bundle 放到 Packages 目录里就能用。但对 Bundle 中的 command 并不支持,此外,TextMate 的色彩主题 1 也是可以放到 Packages 目录里直接用的。估计随着 Sublime Text 2 越来越火,会有更多 TextMate 的 Bundle 被移植过来。

主题

这里所讲的主题不同于针对代码的 Color Scheme,是指针对 Sublime 程序本身的主题,目前可以安装的是 Ian Hill 的 Soda
因为源中已经添加,所以这款主题的安装同样可以通过 Package Control,非常方便。目前 Soda 主题提供了明暗两种风格。
激活方法,同样要修改 User Global Settings:
  1. 按下 Shift + Command + P 调出命令面板。
  2. 输入 user global setting 调出 Preferences:User Global Settings,并按下回车。
    theme
  3. 添加以下代码激活 Soda Light 主题:
    {
    "theme": "Soda Light.sublime-theme"
    }
    
    
    添加以下代码激活 Soda Dark 主题:
    {
    "theme": "Soda Dark.sublime-theme"
    }
    
    
  4. 保存生效。

总结

在试用 Sublime Text 2 的过程中,“”和“”是给 Lucifr 最强烈的感受,就如同 Chrome 浏览器一样,Sublime 的各种操作都给人以很流畅的感受。良好的中文支持也是 TextMate 所不具备的,虽然以目前的插件数量和质量还不能完全替代 TextMate,但还是让人十分期待的。唯一让人纠结的是价格,$59 的注册价确实不便宜(明显是照着 TextMate 的 $58 加一块定的嘛),好在目前测试阶段还可以无限试用。