目录

复古模式

概述

复古是一个Sublime Text 2 的vi模式编辑包。它允许你结合vi的命令行模式和Sublime Text的特性,包括多重选择。

复古模式在开放开发和补丁方面更受欢迎。如果你想要贡献,详情可见GitHub页。

启用复古模式

复古模式默认是禁用的,通过ignored_packages配置。 如果你把"Vintage"忽略包列表中移除,你就可以使用vi快捷键编辑了:

  1. 选中Preferences/Settings - Default菜单项
  2. 编辑ignored_packages配置,把他从:
  3. "ignored_packages": ["Vintage"]
    			
    改成:
    "ignored_packages": []
    			
    然后保存文件。
  4. 现在复古模式就启用了 - 你会看见"INSERT MODE"在任务栏上列出来了。

复古模式默认就是插入模式。这可以通过添加以下来改变:

"vintage_start_in_command_mode": true
		

来使用自己的配置。

它包括了

复古模式包括了最基本的操作: 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 2编辑,通过通常Sublime Text 2 绑定的键位: vi 插入模式键位没有实现。

Ex 命令行 没有实现,除了:w and :e, 其他通过控制面板。

实现的原理

复古模式完全是靠快捷键和插件API实现的 - 随意浏览复古包,看看他们是如何组织的。举个例子,你想绑定"jj"到退出插入模式,你可以添加这个快捷键:

{ "keys": ["j", "j"], "command": "exit_insert_mode",
	"context":
	[
		{ "key": "setting.command_mode", "operand": false },
		{ "key": "setting.is_widget", "operand": false }
	]
}
		

OS X Lion

在狮子中,按住一个键不会重复作用这个键,而是显示出一个弹出菜单供选择字符间的变化。这不能很好的和命令模式工作,因此你也许想禁用它。只要通过在终端里运行下面这句:

defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false
		

Ctrl键组

复古模式支持这些Ctrl的绑定:

然而,因为他们和其他Sublime Text 2 的快捷键冲突,他们在Windows and Linux上默认是禁用的。他们可以通过设置the vintage_ctrl_keys配置来启用:

"vintage_ctrl_keys": true
		

Ex Mode

请看一下VintageEx作为一个复古模式的增强。