Lucifr

分享网络、博客、软件及其它趣事

Sublime Text 2 实用快捷键[Mac OS X]

| Comments

lucasfais 总结了一些非常实用的 Sublime Text 2 快捷键,Lucifr 将它们翻译成了中文,以方便查阅。

打开/前往

⌘T 前往文件
⌘⌃P 前往项目
⌘R 前往 method
⌘⇧P 命令提示
⌃G 前往行
⌃ ` python 控制台

编辑

⌘L 选择行 (重复按下将下一行加入选择)
⌘D 选择词 (重复按下时多重选择相同的词进行多重编辑)
⌃⇧M 选择括号内的内容
⌘⇧↩ 在当前行前插入新行
⌘↩ 在当前行后插入新行
⌃⇧K 删除行
⌘KK 从光标处删除至行尾
⌘K⌫ 从光标处删除至行首
⌘⇧D 复制(多)行
⌘J 合并(多)行
⌘KU 改为大写
⌘KL 改为小写
⌘ / 注释
⌘⌥ / 块注释
⌘Y 恢复或重复
⌘⇧V 粘贴并自动缩进
⌃ space 自动完成(重复按下选择下一个提示)
⌃M 跳转至对应的括号

XML/HTML

⌘⇧A 选择标签内的内容
⌘⌥ . 闭合当前标签

查找/替换

⌘F 查找
⌘⌥F 替换
⌘⌥G 查找下一个符合当前所选的内容
⌘⌃G 查找所有符合当前所选的内容进行多重编辑
⌘⇧F 在所有打开的文件中进行查找

拆分窗口/标签页

⌘⌥1 单列
⌘⌥2 双列
⌘⌥5 网格 (4组)
⌃[1,2,3,4] 焦点移动至相应组
⌃⇧[1,2,3,4] 将当前文件移动至相应组
⌘[1,2,3…] 选择相应标签页

书签

⌘F2 添加/去除书签
F2 下一个书签
⇧F2 前一个书签
⌘⇧F2 清除书签

标记

⌘K space 设置标记
⌘KW 从光标位置删除至标记
⌘KA 从光标位置选择至标记
⌘KG 清除标记

This is a Chinese version of lucasfais’s Sublime Text 2 – Useful Shortcuts (Mac OS X) translated by Lucifr

My Desktop for Now

| Comments

用上 Lion 之后,个人觉得真没有必要保留什么程序在 Dock 上了。

使用 Alfred 一类的启动工具或是默认的 Spotlight,加上 Lion 的重启后自动重新打开之前的程序以及窗口功能,可以很好的解决常用程序启动的问题。不得不提的是我觉得现在的 Launchpad 很是鸡肋,当你装上几十个程序之后,再到没有搜索功能的 Launchpad 里去找某个程序是十分练视力的事情。此外 Dock 的切换程序功能用处也不大,Misson Control 和 Cmd + Tab 就能搞定。

Dock,你现在只是个“当前运行程序指示器”了……几乎。

Alfred Extension: Connect to Transmit Favorite

| Comments

持续研究 Alfred 插件中。其实说白了 Alfred 的插件功能就是一个 Shell 脚本、Applescript 以及 Workflow 的整合工具,其优势就在于可以用来传递值,以及免去了对系统快捷键的占用。这也让 Lucifr 发现了打造插件的乐趣。今天继续奉上一枚 Lucifr 创作的用于方便连接到 Transmit 的插件:

Connect to Transmit Favorite

需求

安装 Alfred 并激活 Powerpack

下载和安装

点击下面的按钮下载插件,并双击完成安装。

Connect to Transmit Favorite

使用方法

用快捷键调出 Alfred,输入 tran [Transmit 中相应 Favorite 的名称],并回车。

举例:Transmit 中存在一个名为“PS”的 Favorite 项目。

那么只要在 Alfred 中输入:tran ps 并回车就可以自动打开 Transmit 并连接到 PS 这个 FTP 项目了。

Enjoy~

The Browser Fountain

| Comments

The browser fountain: 在 Mozilla 开发网站上看到这个很酷的 HTML5 canvas particle 演示。

可以通过页面上的选项来调节各种参数,包括图标总数和每次喷出的个数、是否旋转和显示拖影、图标的大小、重力、空气阻力、水平和垂直方向的初速度和终速度。按下“x”键可以隐藏选项和文本,“p”键用来暂停动画效果,“s”键用来截屏。

对这个演示感兴趣想要学习的话可以下载源码。还可以在这里找到更多演示。

Sublime Text 2 入门及技巧

| Comments

看了 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 制作了一个不错的替代品

Mac 下的替换方法:

  • 应用程序 目录中找到 Sublime Text 2,按住 Ctrl 并点击之,在弹出的菜单中选择“显示包内容”。
  • 进入 Contents/Resources/ 目录,用新下载的图标替换 Sublime Text 2.icns

尝试开发版本

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

下载 Sublime Text 2 Dev 版

快捷的命令面板

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

即时的文件切换

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

随心所欲的跳转

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

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

多重选择(Multi-Selection)

多重选择功能允许在页面中同时存在多个光标,让很多本来需要正则表达式、高级搜索和替换才能完成的任务也变得游刃有余了。看看 Nettut+ 提供的实例可能更为直观一些:

激活多重选择的方法有几种:

  • 按住 CommandAlt,然后在页面中希望中现光标的位置点击。
  • 选择数行文本,然后按下 Shift + Command + L
  • 通过反复按下 Control/Command + D 即可将全文中与光标当前所在位置的词相同的词逐一加入选择,而直接按下 Alt+F3(Windows) 或是 Ctrl+Command+G(Mac) 即可一次性选择所有相同的词。
  • 按下鼠标中键来进行垂直方向的纵列选择,也可以进入多重编辑状态。

缩进指示(Indent Guide)

更新:缩进指示已经被集成进 Sublime Text 2 中,不需要安装插件了。

缩进指示这个小功能可以让代码的层级关系更加清晰,在 Sublime Text 2 中,可以通过一个插件来实现这个功能。

安装方法:

  • 下载 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())
    

  • 重启 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 选项,按下回车。

  3. 在列表中找到 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 的原生全屏模式。

通过修改 “Preferences” -> “File Settings - More” -> “Distraction Free - User” 可以对防干扰模式进行一些设置:

{
    "line_numbers": false,      //是否显示行号
    "gutter": false,            //是否显示边列
    "draw_centered": true,      //是否居中显示
    "wrap_width": 80,           //换行宽度(单位:字符)
    "word_wrap": true,          //是否自动换行
    "scroll_past_end": true     //滚动能否超过结尾
}

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. 保存生效。

命令行工具

和 TextMate 和 MacVim 一样,Sublime Text 2 也提供了很方便的命令行工具以方便通过终端来快速的调用 Sublime Text 2 程序来打开文件/目录/项目等。

要使用命令行工具,你需要创建一个符号链接,在终端(Terminal.app)中运行:

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" ~/bin/subl

然后运行 subl --help 可以查看 subl 命令的使用方法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
使用:  subl [参数] [文件]         编辑指定文件
   或: subl [参数] [目录]            打开指定目录
   或: subl [参数] -             编辑 stdin

可用参数:
  --project <项目>: 读取指定项目
  --command <命令>: 运行指定命令
  -n 或 --new-window:  打开新窗口
  -a 或 --add:         向当前窗口中添加文件夹
  -w 或 --wait:        等待文件关闭后再返回
  -b 或 --background:  不激活程序窗口
  -s 或 --stay:        关闭文件后保持程序窗口激活
  -h 或 --help:        显示此帮助
  -v 或 --version:     显示版本号

读取 stdin 时会使用 --wait 参数。通过 --stay 可以在文件关闭后不返回终端(仅针对单个文件)。

可以通过向文件名添加 `:行号` 或 `:行号:列号` 后缀来打开到更具体的位置。

总结

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

更多 Sublime Text 2 相关文章,请关注这里


  1. 需翻墙,也可以到这里下载

Alfred 匹配并下载字幕插件

| Comments

最近一直在玩 Alfred 的插件,继上次介绍如何用 Alfred 发推之后,这次 Lucifr 又写了一个用 Alfred 配合射手播放器的 sscl 文件自动匹配下载字幕的插件,在这里介绍给大家。

准备过程

  1. 从 SPlayer Mercurial 源里获取 sscl 文件

  2. 把下载好的 sscl 放到 ~/Downloads 文件夹中(默认,DIY 有信心的也可以自行更改位置)。

  3. 打开终端,运行如下命令

    chmod +x ~/Downloads/sscl
    
  4. 确定安装了 Alfred 0.9.9 以上版本并激活了 Powerpack。确定 Features/System/File Navigation 中的 Finder Selection 功能可用。

  5. 下载 Lucifr 的字幕下载插件,双击即可导:

    下载 Subtitle.alfredextension

使用方法

  1. 选中需要下载字幕的视频文件(抱歉啦,目前只能支持单个文件)。

  2. 用快捷键调出 Alfred,输入 action 并回车;或是直接用 ⌥+⌘+\ 调出以下对话框。

  3. 输入 subtitle 并回车,如上图。

  4. 等待字幕就位。

参考

  1. Mac字幕自动下载器 by Yegle
  2. 利用 Hazel 让 Mac 自动下载电影字幕 by EP IS ME

GAget:在 Dashboard 中查看 Google Analytics [Mac]

| Comments

GAget 是一个 Dashboard 小挂件,可以用来查看近期 Google Analytics(Google 分析)的简要报告。

主要功能

  • 查看当天的访问次数(Visits)、绝对唯一身份访问者人数(Unique Visiters)、浏览量(Pageviews)
  • 查看新访问者(New Visiters)、跳出率(Bounce Rate)平均停留时间(Average Time on Site)
  • 更新数据速度快
  • 自动检查软件更新
  • 支持多账号和多个网站配置文件,方便监视多个站点的情况。可以为每个站点添加一个挂件,在不同配置文件之间切换也很方便。
  • 可选择查看近一周两周四周的访问数据。
  • 最重要的是:免费

下载 GAget

via GAget

如何从 Alfred 中发推

| Comments

Alfred 自从 0.9.9 以来加强了对插件的支持,使得这款快速启动程序越发的好用了。Davis Zanetti Cabral 介绍了一个通过插件利用 console_tweet 来在 Alfred 中发推的方法,折腾过程曲折,很有 Geek 范儿,Lucifr 在这里介绍给大家。

安装和配置

  1. 确定安装了 Xcode:编译过程需要 gcc,所以需要这坨庞大的东东,当然你要是会用 RVM 或是自己装 gcc 也可以啦。

  2. 安装 Console_tweet,在终端中输入:

    sudo gem install console_tweet
    
  3. 如果你使用 vpn 全局代理,那么直接跳到下一步即可。否则的话为了能在天朝正常使用,还需要做如下更改:

    • 找一个能用的 twitter 的 host。确定 api.twitter.com 可以在 https 的情况下正常连接。这个嘛 Lucifr 就不提供了,找找的话还是有的,包括改 host 的方法。
    • 修改 /Library/Ruby/Gems/1.8/gems/twitter_oauth-0.4.3/lib/twitter_oauth/client.rb 文件,查找 http://api.twitter.com,替换为 https://api.twitter.com
  4. 配置 console_tweet:在终端输入:

    twitter setup
    

    会提示用浏览器打开链接进行 Oauth 认证,认证后把 PIN 码贴回终端中回车完成配置。

  5. 安装 Alfred 发推插件。可以到 Davis Zanetti Cabral 的 Tumblr 上去下载,如果无力翻墙,也可以下载 Lucifr 的备份。双击安装即可。

使用方法

默认使用 tweet[空格][所要发送的内容] 即可发推了,如果觉得打tweet太长了,也可以到 Alfred 选项中进行修改,在 Extensions 选项页中找到 Twitter 这个插件,修改 Keyword 即可。

via How to tweet from @AlfredApp 0.9.9