代码编辑器 Sublime Text 指南

/ 0评 / 1

编辑器的选择

从初学编程到现在,我用过的编辑器有EditPlus、UltraEdit、Notepad++、Vim、TextMate和Sublime Text,如果让我从中推荐,我会毫不犹豫的推荐Vim和Sublime Text,原因有下面几点:
        跨平台:Vim和Sublime Text均为跨平台编辑器(在Linux、OS X和Windows下均可使用)。作为一个程序员,切换系统是常有的事情,为了减少重复学习,使用一个跨平台的编辑器是很有必要的。
        可扩展:Vim和Sublime Text都是可扩展的(Extensible),并包含大量实用插件,我们可以通过安装自己领域的插件来成倍提高工作效率。
        互补:Vim和Sublime Text分别是命令行环境(CLI)和图形界面环境(GUI)下的最佳选择,同时使用两者会大大提高工作效率。

安装Package Control

Package Control可以很方便的浏览、安装和卸载Sublime Text中的插件。
进入Package Control的官网,里面有详细的安装教程。Package Control支持Sublime Text 2和3,本文只给出3的安装流程:
        1.使用Ctrl + ' 打开Sublime Text控制台。
    2.将下面的代码粘贴到控制台里:

import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404' + 'e330c659d4bb41d3bdf022e94cab3cd0'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://sublime.wbond.net/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)

也可能是这个

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())

等待Package Control安装完成。之后使用Ctrl + Shift + P打开命令板,输入PC应出现Package Control:

1

成功安装Package Control之后,我们就可以方便的安装使用Sublime Text的各种插件:

2

配置(Settings)

与其他GUI环境下的编辑器不同,Sublime Text并没有一个专门的配置界面,与之相反,Sublime Text使用JSON配置文件,例如:

{
"font_size": 12,
"highlight_line": true,
// 设置Sans-serif(无衬线)等宽字体,以便阅读
"font_face": "YaHei Consolas Hybrid",
"font_size": 12,
// 使光标闪动更加柔和
"caret_style": "phase",
// 高亮当前行
"highlight_line": true,
// 高亮有修改的标签
"highlight_modified_tabs": true,
"theme": "Nexus.sublime-theme",
"color_scheme": "Packages/Theme - Flatland/Flatland Dark.tmTheme",
// 设置tab的大小为2
"tab_size": 2,
// 使用空格代替tab
"translate_tabs_to_spaces": true,
// 添加行宽标尺
"rulers": [80, 100],
// 显示空白字符
"draw_white_space": "all",
// 保存时自动去除行末空白
"trim_trailing_white_space_on_save": true,
// 保存时自动增加文件末尾换行
"ensure_newline_at_eof_on_save": true,
}

会将默认字体大小调整为12,并高亮当前行。
JSON配置文件的引入简化了Sublime Text的界面,但也使得配置变的复杂,一般我会到这里查看可用的Sublime Text配置。
Sublime Text有大量第三方主题:[https://sublime.wbond.net/browse/labels/theme],这里我给出几个个人感觉不错的

主题:
Soda Light、Soda Dark、Nexus、Flatland、Spacegray Light、Spacegray Dark

格式化

Sublime Text基本的手动格式化操作包括:Ctrl + [向左缩进,Ctrl + ]向右缩进,此外Ctrl + Shift + V可以以当前缩进粘贴代码(非常实用)。
除了手动格式化,我们也可以通过安装插件实现自动缩进和智能对齐:
        HTMLBeautify:格式化HTML。
        AutoPEP8:格式化Python代码。
        Alignment:进行智能对齐。
此外,我使用BracketHighlighter插件以高亮显示配对括号以及当前光标所在区域。

命令行

命令行(Command Line)
尽管提供了Python控制台,但Sublime Text的控制台仅支持单行输入,十分不方便,所以我使用SublimeREPL以进行一些编码实验(Experiments)。

快捷键列表

我把本文出现的Sublime Text快捷键按其类型整理在这里,以便查阅。

通用(General)

        ↑↓←→:上下左右移动光标,注意不是不是KJHL!
        Alt:调出菜单
        Ctrl + Shift + P:调出命令板(Command Palette)
        Ctrl + ' :调出控制台

编辑(Editing)

        Ctrl + Enter:在当前行下面新增一行然后跳至该行
        Ctrl + Shift + Enter:在当前行上面增加一行并跳至该行
        Ctrl + ←/→:进行逐词移动
        Ctrl + Shift + ←/→进行逐词选择
        Ctrl + ↑/↓移动当前显示区域
        Ctrl + Shift + ↑/↓移动当前行

选择(Selecting)

        Ctrl + D:选择当前光标所在的词并高亮该词所有出现的位置,再次Ctrl + D选择该词出现的下一个位置,在多重选词的过程中,使用Ctrl + K进行跳过,使用Ctrl + U进行回退,使用Esc退出多重编辑
        Ctrl + Shift + L:将当前选中区域打散
        Ctrl + J:把当前选中区域合并为一行
        Ctrl + M:在起始括号和结尾括号间切换
        Ctrl + Shift + M:快速选择括号间的内容
        Ctrl + Shift + J:快速选择同缩进的内容
        Ctrl + Shift + Space:快速选择当前作用域(Scope)的内容

查找&替换(Finding&Replacing)

        F3:跳至当前关键字下一个位置
        Shift + F3:跳到当前关键字上一个位置
        Alt + F3:选中当前关键字出现的所有位置
        Ctrl + F/H:进行标准查找/替换,之后:
        Alt + C:切换大小写敏感(Case-sensitive)模式
        Alt + W:切换整字匹配(Whole matching)模式
        Alt + R:切换正则匹配(Regex matching)模式
        Ctrl + Shift + H:替换当前关键字
        Ctrl + Alt + Enter:替换所有关键字匹配
        Ctrl + Shift + F:多文件搜索&替换

跳转(Jumping)

        Ctrl + P:跳转到指定文件,输入文件名后可以:
        @ 符号跳转:输入@symbol跳转到symbol符号所在的位置
        # 关键字跳转:输入#keyword跳转到keyword所在的位置
        : 行号跳转:输入:12跳转到文件的第12行。
        Ctrl + R:跳转到指定符号
        Ctrl + G:跳转到指定行号

窗口(Window)

        Ctrl + Shift + N:创建一个新窗口
        Ctrl + N:在当前窗口创建一个新标签
        Ctrl + W:关闭当前标签,当窗口内没有标签时会关闭该窗口
        Ctrl + Shift + T:恢复刚刚关闭的标签

屏幕(Screen)

        F11:切换普通全屏
        Shift + F11:切换无干扰全屏
        Alt + Shift + 2:进行左右分屏
        Alt + Shift + 8:进行上下分屏
        Alt + Shift + 5:进行上下左右分屏
        分屏之后,使用Ctrl + 数字键跳转到指定屏,使用Ctrl + Shift + 数字键将当前屏移动到指定屏

延伸阅读(Further Reading)

书籍(Books)

        Mastering Sublime Text:我读过的唯一一本关于Sublime Text的书籍,书中介绍的插件很实用,但对编辑技巧介绍不全。
        Instant Sublime Text Starter:另外一本关于Sublime Text的书,我没有读过。

链接(Links)

        官方文档:http://www.sublimetext.com/docs/3/
        官方论坛:http://www.sublimetext.com/forum/
        Stack Overflow的Sublime Text频道:
        http://stackoverflow.com/questions/tagged/sublimetext
        http://stackoverflow.com/questions/tagged/sublimetext2
        http://stackoverflow.com/questions/tagged/sublimetext3
        非官方文档:http://sublime-text-unofficial-documentation.readthedocs.org/甚至比官方文档还要全面!
        Package Control:https://sublime.wbond.net/ 大量的Sublime Text插件和主题。

评论已关闭。