列选择可用于选择一个文件里的矩形区域。列选择并不是通过一个单独模式完成的,而是使用多重选择。
你可以添加选区域来选择多个文本块,或者减少选区来移除选择块。
不同的平台要使用不同的鼠标按钮:
添加上面一行或者下面一行到选区,可以使用Ctl+Alt+Up 和 Ctrl+Alt+down (OS X: Ctrl+Shift+Up 和 Ctrl+Shift+Down).
如果你选择过多,可以撤销选择 (Ctrl+U, 或者 Command+U on OS X) 进行后退。
选中一个多行的区块,然后把每一行分成一个选区,可以使用Ctrl+Shift+L, 或 Command+Shift+L on OS X.
添加下一个当前发现的单词到选区,Windows和Linux下使用Ctrl+D ,或者OS下使用Command+D。如果当前没有选中的单词,第一次则选中当前光标所在的单词,重复使用将选择下一个相同的单词。
同样,如果选择过多,可以使用(Ctrl+U, 或者 Command+U on OS X) 进行撤销,后退一步。
使用快速选择下一个时,个别单词可以跳过,Windows 和 Linux下快捷键是Ctrl+K,Ctrl+D, 或者OS X下Command+K,Command+D。
添加所有的发现的当前单词到选区,可使用查找所有:Alt+F3 on Windows and Linux, 或者Ctrl+Command+G on OS X.
从多选区切换到单一选区,使用Escape.
自动完成会根据你的输入显示补全列表,所以你可以通过输入简短的字母来完成填入长的单词。 默认编辑源代码和HTML(输入<字符之后启动提示)时是开启的。
自动完成可以通过auto_complete
来配置。把下面这行加入到Preferences/File Settings - User
里面可以禁用:
"auto_complete": false
如果自动完成被禁用,补全列表弹出层可以手动触发,或者通过tab键来完成输入最接近的自动补全匹配,而不显示补全列表提示。
如果未显示可以通过 Ctrl+Space
显示提示列表。如果已经显示,可以选择下一项。
默认情况下,补全提示列表中选中的项会在回车之后自动填入。这个可能会导致歧义,是需要换行还是自动完成补全。通过设置auto_complete_commit_on_tab
为true, 回车将会插入新行,tab键将自动完成补全。这样做的另一个好处就是:让Sublime Text知道没有模糊的定义, 它会把你可能想要的最为匹配的项展现在第一个位置。
建议启用Tab键完成自动补全,不过可能需要一点时间适应这个习惯。
换句话说就是注意力集中模式,这种模式下代码编辑区域将变成全屏。所有UI部件都会被影藏,但是仍然可以访问。可以通过View/Enter Distraction Free Mode 菜单进入此模式。
这种模式下,所有UI部件(侧边栏,预览地图,状态栏等等)将影藏。可以通过View菜单里选择性的显示某个部分,这些配置同样将会在下一次进入该模式时有效。
该模式下可以应用某些配置。默认配置(在Packages/Default/Distraction Free.sublime-settings):
{
"line_numbers": false,
"gutter": false,
"draw_centered": true,
"wrap_width": 80,
"word_wrap": true,
"scroll_past_end": true
}
可以通过编辑Packages/User/Distraction Free.sublime-settings文件来自定义这些配置,可通过Preferences/File Settings - More菜单访问到。
上面wrap_width设置没太大意义。80表示代码编辑区域边界位置在第80个字符位置。你可以设置成更大的值,或者设置为0表示整个窗口的宽度。
Vintage是Sublime Text的vi模式编辑包。 可以使用组合vi命令来调用Sublime Text的功能,包括多重选择。
Vintage模式是开放开发的,而且非常欢迎进行完善和扩展。如果你愿意做点贡献的话,可以在GitHub页面上找到更多细节。
Vintage默认是禁用的, 通过ignored_packages 配置。如果要从ignored packages列表中移除"Vintage"的话可以通过下面的方式编辑:
编辑ignored_packages配置, 修改:
"ignored_packages": ["Vintage"]
成:
"ignored_packages": []
然后保存文件。
Vintage默认是插入模式。可以添加:
"vintage_start_in_command_mode": true
这项配置到User Settings里。
Vintage包含大部分的基本命令:d (delete), y (copy), c (change), gu (lower case), gU (upper case), g~ (swap case), g? (rot13), < (unindent), and > (indent)。
同时也包含许多移动操作,包括l, h, j, k, W, w, e, E, b, B, alt+w (move by sub-words), alt+W (move backwards by sub-words), $, ^, %, 0, G, gg, f, F, t, T, ^f, ^b, H, M, and L.
文本对象的支持,包括词,引号,括号和标签。
重复点号('.')也是支持的, 用于重复指定次数的命令和移动。寄存器也是支持的,有宏命令和书签。许多其它混合命令也支持,比如*, /, n, N, s, S 等等。
插入模式时常规的Sublime Text编辑模式,绑定的是Sublime Text常用的快捷键:并没有模仿vi 插入模式的键盘绑定。
通过via命令面板执行的Ex commands没有实现,除了:w和:e。
Vintage模式完全是参考via键盘绑定和基于插件API来实现的——你可以自由的浏览Vintage包,看看它们是如何组合在一起的。举个例子,如果你要把 "jj" 绑定为退出插入模式,你可以像下面这样天剑键盘绑定:
{ "keys": ["j", "j"], "command": "exit_insert_mode",
"context":
[
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false }
]
}
Lion系统下,按住某个键不会重复,但是会弹出一个菜单选择字符变更。在命令模式下这样并不是很好,如果你想禁用它,可以通过在终端里输入下面这个语句:
defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false
Vintage支持下面这些ctrl key的绑定:
Ctrl+B: Page Up 不过,因为这些会与Sublime Text的其它键盘绑定冲突,Windows和Linux下默认是禁用的。可以通过vintage_ctrl_keys来配置:
"vintage_ctrl_keys": true
可以参考VintageEx这里查看Vintage的Ex mode。
Projects在Sublime Text中由2个文件组成:sublime-project文件,包含项目的定义,和sublime-workspace文件,包含用户特定数据,比如打开的文件和每个文件的修改。
按照一般原则,sublime-project需要纳入版本控制,而sublime-workspace文件不需要。
sublime-project文件是JSON格式,支持三个一级配置节点: folders, 包含引入的文件目录,settings, 包含需要重写的file-setting, 以及build_systems, 指定项目的构建系统。下面是一个例子:
{
"folders":
[
{
"path": "src",
"folder_exclude_patterns": ["backup"],
"follow_symlinks": true
},
{
"path": "docs",
"name": "Documentation",
"file_exclude_patterns": ["*.css"]
}
],
"settings":
{
"tab_size": 8
},
"build_systems":
[
{
"name": "List",
"shell_cmd": "ls -l"
}
]
}
每个文件夹都需要有一个path(路径), 和其它可选配置file_exclude_patterns, file_include_patterns, folder_exclude_patterns, folder_include_patterns and follow_symlinks。路径是相对于project目录的位置,或者完整绝对路径。Folders也可以指定一个name配置,用于显示在侧边栏里。
如果从老版本的项目转换过来可能会在folders下有一个mount_points。 如果还想使用这个移除的模式,需要转换成上面这种格式。
配置(Settings)可以在这回使用settings这个key值来指定, 可以覆盖用户配置规则(user settings)。注意它不会覆盖特定的语法配置(syntax specific settings)。
Build Systems指定了一组内联的构建系统定义. 除了一般的构建系统的配置,还需要为每个构建系统指定一个name。可用的构建系统列举在Tools/Build Systems菜单下。