Vintage模式

概述

Vintage是Sublime Text的vi模式编辑包。 可以使用组合vi命令来调用Sublime Text的功能,包括多重选择。

Vintage模式是开放开发的,而且非常欢迎进行完善和扩展。如果你愿意做点贡献的话,可以在GitHub页面上找到更多细节。

启用Vintage

Vintage默认是禁用的, 通过ignored_packages 配置。如果要从ignored packages列表中移除"Vintage"的话可以通过下面的方式编辑:

    • 选择Preferences/Settings - Default菜单
    • 编辑ignored_packages配置, 修改:
      1. "ignored_packages": ["Vintage"]

      成:
      1. "ignored_packages": []

      然后保存文件。
    • Vintage模式则已启用——你可以看到"INSERT MODE"显示在状态栏了。

Vintage默认是插入模式。可以添加:
  1. "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。 ## Under the Hood Vintage模式完全是参考via键盘绑定和基于插件API来实现的——你可以自由的浏览Vintage包,看看它们是如何组合在一起的。举个例子,如果你要把 "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

Lion系统下,按住某个键不会重复,但是会弹出一个菜单选择字符变更。在命令模式下这样并不是很好,如果你想禁用它,可以通过在终端里输入下面这个语句:

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

Ctrl Keys

Vintage支持下面这些ctrl key的绑定:

  • 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的其它键盘绑定冲突,Windows和Linux下默认是禁用的。可以通过vintage_ctrl_keys来配置:
    1. "vintage_ctrl_keys": true

Ex Mode

可以参考VintageEx这里查看Vintage的Ex mode。

原文:

http://feliving.github.io/Sublime-Text-3-Documentation/vintage.html