目录

复古模式

概述

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

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

启用复古模式

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

  • 选中Preferences/Settings - Default菜单项
  • 编辑ignored_packages配置,把他从:
  1. "ignored_packages": ["Vintage"]

改成:

  1. "ignored_packages": []

然后保存文件。

  • 现在复古模式就启用了 - 你会看见"INSERT MODE"在任务栏上列出来了。

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

  1. "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"到退出插入模式,你可以添加这个快捷键:

  1. { "keys": ["j", "j"], "command": "exit_insert_mode",
  2. "context":
  3. [
  4. { "key": "setting.command_mode", "operand": false },
  5. { "key": "setting.is_widget", "operand": false }
  6. ]
  7. }

OS X Lion

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

  1. defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false

Ctrl键组

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

  • Ctrl+[: Escape
  • Ctrl+R: Redo
  • Ctrl+Y: Scroll down one line
  • Ctrl+E: Scroll up one line
  • Ctrl+F: Page Down
  • Ctrl+B: Page Up

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

  1. "vintage_ctrl_keys": true

Ex Mode

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