2013年12月

Sublime Text 是一款支持OS X、Windows、Linux等各种平台的代码编辑器,它支持但不限于 C, C++, C#, CSS, D, Erlang, HTML, Groovy, Haskell, HTML, Java, JavaScript, LaTeX, Lisp, Lua, Markdown, Matlab, OCaml, Perl, PHP, Python, R, Ruby, SQL, TCL, Textile and XML 等主流编程语言的语法高亮,除此之外,还提供了只有你想不到没有它做不到的太多强大的功能,作为一个Sublime Text 的忠实用户,我将它推荐给每一个和我一样每天劳作在电脑面前的码农们。

Sublime Text 2 软件界面截图

代码编辑器或者文本编辑器,对于程序员来说,就像剑与战士一样,谁都想拥有一把可以随心驾驭且锋利无比的宝剑,而每一位程序员,同样会去追求最适合自己的强大、灵活的编辑器,相信你和我一样,都不会例外。本人用过的代码编辑工具很多,从入门时用了不到一个月的DreamWeaver再到后来包括现在某些时候也还在使用的NotePad++,还有VIM、EMacs、BBEdit、Coda……不管曾经用过什么神器,最终的结果都是(至少在新的神器出现之前)以Sublime Text 为终点。

Sublime Text 现在还处于更新的频繁期,而且 Sublime Text 3的测试版也都已经出来了,其官方网站地址是:http://www.sublimetext.com/,通过官方网站就可以下载到任何一个适合你的操作系统的版本,而且 Sublime Text 2 与 Sublime Text 3可以同时下载得到。

Sublime Text 本身是一个收费软件,价格对于用导了盗版的我们来说真不地道:

1 license: USD $70
10+ licenses: USD $60 / license
25+ licenses: USD $55 / license
50+ licenses: USD $50 / license

我购买的时候还只是 $59,其实算算,和其功能比较一下,这个价格其实并不算贵,当然了,如果不想用盗版(其实这个软件真心没有盗版的必要),也不想花钱,你下载安装就可以使用,只不过有一个很不高频率会提醒你还木有购买,完全不会影响它的使用。

软件及其包管理工具安装

Sublime Text 的优点并不仅限于它本身的功能,而在于它还有一个强大的插件体系,在我们安装完成Sublime Text 之后,打开软件,按下 Ctrl + ~ 键(反引号键) 即可开启命令行工具,然后按你安装的版本复制下面的代码至命令行工具中并点击回车运行它。

Sublime Text 2 包管理器安装脚本

import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

Sublime Text 3 包管理器安装脚本

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 'wb').write(urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ','%20')).read())

安装完成之后,你需要重启 Sublime Text 才能使安装生效。为了方便你搜索、查找插件,你可以直接访问 https://sublime.wbond.net/browse 网站。

手工安装包管理器

如果在为某些变态的原因,命令行工具无法成功安装包管理器,你还可以手工安装:

  1. 点击 Preferences » Browse Packages... 菜单,这会打开包存储目录;
  2. Packages 目录的父文件夹中,有一个名为 Installed Packages 目录,进入 Installed Packages 目录;
  3. 下载 Package Control.sublime-package 包,然后移动至 Installed Packages/ 目录下;
  4. 重启 Sublime Text 即可。

初步窥探 Sublime Text

Sublime Text 的使用

Sublime Text 本身就只是一个编辑器而已,所以使用它,无非就是打开它,创建新文件,然后输入即可,基本的快捷键与其它的编辑器类似,都属于系统黑夜的,比如 Ctrl + S 是保存等等。

创建一个新项目

在 Sublime Text 中,一个项目就是一个文件夹,创建方式也很简单:

  1. 在电脑上创建一个新的文件夹
  2. 把这个文件夹拖动到 Sublime Text 程序界面(在OS X下可以直接拖动到图标上)即可创建一个新的项目

一个Sublime Text 进程可以同时打开多个文件夹,也就是可以创建多个项目,但是对于新建的文件默认都会保存在第一个项目中,也就是左侧文件夹目录最上面的那一个目录中。

Goto Anything

Goto Anything

呃,这个名头可真不小,在 Sublime Text 里面有一个小神器,就叫作 Goto Anything,它能带你随心所欲地进入任何你想进入的地方,使用起来也是十分的简单,几个快捷键即可搞定所有。

Command+P 之所以被叫做 Goto Anything 并不是虚名:

  • Command+P 可以快速跳转到当前项目中的任意文件,可进行关键词匹配。
  • Command+P@ (或是Command+R)可以快速列出/跳转到某个函数(很爽的是在 markdown 当中是匹配到标题,而且还是带缩进的!)。
  • Command+P# 可以在当前文件中进行搜索。
  • Command+P: (或是Ctrl+G)加上数字可以跳转到相应的行。
  • 而更酷的是你可以用 Command+P 加上一些关键词跳转到某个文件同时加上 @ 来列出/跳转到目标文件中的某个函数,或是同时加上 # 来在目标文件中进行搜索,或是同时加上 : 和数字来跳转到目标文件中相应的行。

深入了解 Sublime Text

自带快捷键

  • Ctrl+Shift+P:打开命令面板
  • Ctrl+P:搜索项目中的文件
  • Ctrl+G:跳转到第几行
  • Ctrl+W:关闭当前打开文件
  • Ctrl+Shift+W:关闭所有打开文件
  • Ctrl+Shift+V:粘贴并格式化
  • Ctrl+D:选择单词,重复可增加选择下一个相同的单词
  • Ctrl+L:选择行,重复可依次增加选择下一行
  • Ctrl+Shift+L:选择多行
  • Ctrl+Shift+Enter:在当前行前插入新行
  • Ctrl+X:删除当前行
  • Ctrl+M:跳转到对应括号
  • Ctrl+U:软撤销,撤销光标位置
  • Ctrl+J:选择标签内容
  • Ctrl+F:查找内容
  • Ctrl+Shift+F:查找并替换
  • Ctrl+H:替换
  • Ctrl+R:前往 method
  • Ctrl+N:新建窗口
  • Ctrl+K+B:开关侧栏
  • Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身
  • Ctrl+F2:设置/删除标记
  • Ctrl+/:注释当前行
  • Ctrl+Shift+/:当前位置插入注释
  • Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的
  • Ctrl+Shift+A:选择当前标签前后,修改标签用的
  • F11:全屏
  • Shift+F11:全屏免打扰模式,只编辑当前文件
  • Alt+F3:选择所有相同的词
  • Alt+.:闭合标签
  • Alt+Shift+数字:分屏显示
  • Alt+数字:切换打开第N个文件
  • Shift+右键拖动:光标多不,用来更改或插入列内容
  • 鼠标的前进后退键可切换Tab文件
  • 按Ctrl,依次点击或选取,可需要编辑的多个位置
  • 按Ctrl+Shift+上下键,可替换行

不得不用的插件

ZenCoding
: 不得不用的一款前端开发方面的插件,Write less , show more.安装后可直接使用,Tab键触发,Alt+Shift+W是个代码机器。

Alignment
: 代码对齐,如写几个变量,选中这几行,Ctrl+Alt+A,哇,齐了。

Prefixr
: 写 CSS可自动添加 -webkit 等私有词缀,Ctrl+Alt+X触发。

Tag
: Html格式化,右键Auto-Format Tags on Ducument。

Clipboard History
: 剪贴板历史记录,显示更多历史复制,Ctrl+Shift+V触发。

SideBarEnhancements
: 侧栏右键功能增强,非常实用

Theme – Soda
: 完美的编码主题,用过的都说好,Setting user里面添加”theme”: “Soda Dark.sublime-theme”

GBK to UTF8
: 将文件编码从GBK转黄成UTF8,菜单 – File里面找

SFTP
: 直接编辑 FTP 或 SFTP 服务器上的文件,绝对FTP浮云

WordPress
: 集成一些WordPress的函数,对于像我这种经常要写WP模版和插件的人特别有用

PHPTidy
: 整理排版PHP代码

YUI Compressor
: 压缩JS和CSS文件

一直都是一个忠实的Drupal用户,不过最近这大半年因为公司太忙,所以也完全没有时间来关注Drupal的发展,不过今天因为一个项目的原因,得用一下Drupal,所以上官网看了一下,官网直接来了一条消息(也不知道是不是已经发出来很久了)——Drupal 8就要到来了,立马去看了一下,已经到了Alpha 7了,真快啊,赶紧下载下来瞧瞧。

QQ20131230-4.png

还记得很久以前测试的时候,Drupal 8 还一大堆的问题,现在居然可以直接使用了(我是一直都是使用最新版本软件的人,从来不会考虑什么兼容问题的)。

有史以来最强大的开源内容管理系统 Drupal,有史以来最简单的应用开发框架 Phonegap(或者称之为 Cordova),当这两者相遇,就有了这强大的 DrupalGap

首先,我是一名忠实的Drupal用户,虽然Drupal很多时候让我很苦恼,但是我从来没有打算放弃过它,因为它在别的东西都解决不了问题的时候,总能帮我更快的解决,而PhoneGap(开源版本为 Cordova)我才用没到一年,但是已经感觉到,在一般的应用中,它能给我们带来更快的开发效率,虽然运行效率是差了一点点,不如原生态的,但是,对于一般的小项目,在这开发效率与运行效率之间,它能取得一个很好的平衡,这就已经完全满足我的要求了,最主要的是,HTML5+CSS3太强大了,现在的总是是我需要Drupal来做后端,Phonegap来实现前端,它们之间怎么联系?这就用到了一个杂交体 DrupalGap

需要完成的项目介绍

写本文的原因是最近要做一个手机端项目,项目的需求其实很简单:

  • 用户可以通过App查看湖南省所有高速公路广告牌(包括其状态,价格,位置,地图展示等)
  • 管理者有一个很方便使用的后台管理这些广告牌资源
  • 管理者可以通过登陆手机端来发布新的广告牌

其实解决方案很多,完全用不着用Drupal这么个东西,只是,为了统一整个公司的技术结构,总前想后的还是用了Drupal,这个项目的服务器端(包括管理程序)地址为:http://zhuoyue.projects.ofsz.com,你可以通过这个网址下载该应用。

安装 DrupalGap 模块

DrupalGap本身只是一个Drupal模块,该模块要求你的Drupal系统中已经安装了以下模块:

配置开发环境

PhoneGap 应用本身可以简单的认为是一个HTML5+CSS3+JavaScript实现的手机版网站,所以在电脑上开发PhoneGap应用的最合适的开发环境就是浏览器,当然,最好的选择肯定就是Chrome 莫属了,除了Chrome自身提供的各种各样的开发扩展工具外,PhoneGap还提供了一个强大的Chrome插件—— Emulate,通过该插件,我们可以在浏览器中模拟出移动终端,安装完该插件之后,我们可以开发部署DrupalGap的第二部分了—— Mobile Application Development Kit

下载 Mobile Application Development Kit ,将其解压并移动至你的Drupal站点根目录下,然后将其文件夹名称改为 mobile(除 appdrupalgap 外的任何名称都可以),现在,整个开发环境已经部署完了,但是在正式开发前,我们还需要对 Mobile Application Development Kit 进行一些简单的设置。

修改 Mobile Application Development Kit 配置

进入 Mobile Application Development Kit 中的 app 目录,将 default.settings.js 文件复制一个复本并命名为 settings.js ,打开 settings.js 文件,找到下面这一行:

drupalgap.settings.site_path = ''; // e.g. http://www.example.com

将其修改成为您的Drupal站点的路径,比如我在卓越广告这个项目中的开发站点地址是:http://zhuoyue.projects.ofsz.com,填写进去即可:

drupalgap.settings.site_path = 'http://zhuoyue.projects.ofsz.com'; // e.g. http://www.example.com

然后将 ripple.index.html 中的内容覆盖至 index.html 中,将 Phonegap的示例配置文件 config.xml 保存在应用的根目录中,在本例中我们的应用根目录是 mobile ,我们还需要为应用制作一个图标,保存为 icon.png 文件至 mobile 目录中。下面已经可以通过下面链接访问到你的应用了:

比如我的示例是:

[phonegap] : http://www.phonegap.com
[cordova] : http://cordova.apache.org
[drupalgap] : http://drupalgap.org

[ctools] : http://drupal.org/project/ctools
[libraries] : http://drupal.org/project/libraries
[oauth] : http://drupal.org/project/oauth
[services] : http://drupal.org/project/services
[views] : http://drupal.org/project/views
[views_datasource] : http://drupal.org/project/views_datasource

看看,已经有大半年没有写博客了,7月29号,去了珠峰科技 ,然后这一忙就直接忙到现在,这几天因为老婆生日,回株洲待个十天左右,有点点空余时间,所以把自己的博客重新弄了一下下,从WordPress又转移到了 Typecho 上面来,喜欢这个系统的简单,最主要的一点是,它支持纯粹的 Markdown,这比TextPattern 默认的 Textile 好得多(当然,也可以通过一些办法让其支持Markdown),而比WordPress和Drupal则简洁了太多太多。

从2008年开始的所有数据都转移了过来,同时去除了文章数据里面原有的Wordpress 标签,比如 [caption] 这种的,同时,把所有文件也都清理了一次,默认在WordPress里面插入的图片什么的,都带有类似 1200x800 这样的字符串,也全部都去除了,统一改成我上传的文件名,这样有一个好处,可以节省很多空间的开支,磁盘本身并不值钱,而是我可以少看到很多没用的文件而已。

这大半年用了很久的织梦,确实是一款不错的国产建站系统,但是有些时间,确实还是太差了,没有国外的系统开发来得简单,代码难看得要死,不过好在国人还有个 ThinkPHP 和 YII,这两个都很不错,也用这两个做过一些小项目,而现在自己最主要用的语言就是 Golang/PHP/JavaScript了,最后者主要就是 NodeJS/jQuery/Cordova三者。

很久没有写博客了,总是发现少点儿什么,从今住后,会继续再写起这博客,就算是个记录,也总比把一些日常应该记录下来的东西保存在不靠谱的电脑里面要好。

新的域名: 小人革面:_xrgm.wolfuck.com_