代码之外-sublime

除了笨重的IDE之外,对于文本编辑器的选择挺重要的,我对编辑器的选择有这么几个原则:

  • 轻量级而基础功能够用
  • 功能可扩展
  • 经得住历史考验,不会被频繁替换,徒增更换学习成本

sublime 几乎就是这几个原则的理想实现,用了大概2年了,陆陆续续给了不少惊喜,基本上是不用再考虑换其它的编辑器了。

下面则是关于sublime的一些使用介绍。(注意,本文基于MAC OS进行编写,快捷键等方式请参照官方自行切换)

安装

这个不用说了,直接 官网下载吧。如果想要破解版的,自己找,百度云一堆。

插件管理器

sublime之所以能做到功能可扩展,无非是因为有一套完整的插件管理机制,而且它的插件库内容之丰富,让人叹为观止。

要能安装插件,首先要做的是安装插件管理器,安装步骤如下:

  • 按 「 Ctr+` 」调用出命令行面板;

  • 粘贴如下命令到命令行并回车:

    1
    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

  • 如果在Perferences->package settings中看到package control这一项,则安装成功。

安装插件

插件管理器安装完毕以后,可以通过如下方式进行插件安装:

  • 按键 Super+Shift+P,调出万能面板
  • 输入 install package
  • 输入你要安装的包名,回车,静静等待;

下面是一些我推荐的插件:

  • All Autocomplete
  • Clickable URLs
  • MarkdownEditing
  • Pretty JSON
  • sublime-rst-completion
  • Theme - Soda SolarizedDark
  • Anaconda
  • SideBarEnhancements

要查看已经安装了那些插件,可以在万能面板中输入list package;

注意,此处再次引出了万能面板的概念,它是sublime里面最重要的一个操作入口,可以在里面完成99%的管理操作;

常用快捷键

首先说明,快捷键可以自己任意定义,为了保留平时在开发工具IntellJ中的习惯,我改了部分快捷键,我的快捷键配置如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
[     

// 预览MD
{ "keys": ["alt+p"], "command": "markdown_preview", "args": { "target": "browser"} },

// 删除当前行
{ "keys": ["super+d"], "command":"run_macro_file", "args": {"file":"Packages/Default/Delete Line.sublime-macro"} },

// 复制选中行到行后
{ "keys": ["super+alt+down"], "command":"duplicate_line" },

// gb一次选中所有的
{ "keys": ["super+g"],"command": "find_all_under" },

// 与上行互换
{ "keys": ["alt+up"], "command":"swap_line_up" },
// 与下行互换
{ "keys": ["alt+down"], "command":"swap_line_down" },
// 提示
{ "keys": ["alt+/","alt+/"], "command":"insert_best_completion" },

// 替换窗口
{ "keys": ["super+r"], "command": "show_panel", "args": {"panel": "replace", "reverse": false} },

// 从当前任意位置跳到下一行
{ "keys": ["shift+enter"], "command": "run_macro_file", "args": {"file": "res://Packages/Default/Add Line.sublime-macro"} },

//跳转到
{ "keys": ["super+1"], "command": "show_overlay", "args": {"overlay": "goto", "text": ":"} },
{ "keys": ["super+2"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} },
]

想要知道具体怎么去配置这些快捷键,建议抽个时间过一遍官方文档

sublime的快捷键太灵活,一时半会很难消化,建议分类整理;

基本

  • 打开万能面板

Super+Shift+P

万能面板中可以做很多有用的事情,常见的有:

+ 包管理(install, remove, list)
+ 设置文件格式(set syntax)
+ 常见配置修改(key binding,preferences)
+ 格式化(json format, html format...)
+ 文件管理(remove,rename,copy name, copy path....)
  • 跳转到任意文件

Super + P

  • 文件内跳转到指定方法,变量定义

Super +P ; 输入 @「方法名」

  • 文件内跳转到行,

Super +P ; 输入 :「行号」

  • 调出控制台

Ctrl + `

编辑

  • 删除当前行

Super +D

  • 跳转到下一行

Shift + Enter

  • 移动光标到行首

Ctrl + A 或者 Command + Left

  • 移动到光标到行末尾

Ctrl + E 或者 Command + Right

  • 移动到下一个单词

Ctrl + W

  • 移动到上一单词

Ctrl + B

  • 列编辑模式

Alt + 鼠标左键

选择

  • 选择相同的单词

Super + G

  • 选择一行

Super+Shift+Right

  • 选择一个单词

Ctrl+Shift+Right

  • 选择{}/()中的内容

Ctrl+Shift+M

  • 在{}/()起始位置切换光标

Ctrl +M

查找替换

  • 查找

Super + F

  • 替换

Super + R

sublime的玩法可以够你玩一整年,基本操作的话,把这篇文章里面的都消化掉就差不多了,毕竟只是一个工具,要在实际操作中积累经验。