1.2.6 Vintage 模式

优质
小牛编辑
125浏览
2023-12-01

概述

Vintage 是 Sublime Text 中一个 vi 模式的包,这允许你在 Sublime Text 中使用 vi 命令。

Vintage 模式是开源的,在GitHub 上贡献你的代码吧。

启用 VI 模式

默认是禁用的,在菜单栏Preferences/Settings - Default打开配饰文件,从ignored_packages字段中移除"Vintage"即可启用 vi 模式。vi 模式默认是以插入模式开始的,这可以在用户设置中进行修改:

"vintage_start_in_command_mode": true

支持的操作

Vintage 包含最基本的操作:d(删除)、y(复制)、c(修改)、gu(小写)、gU(大写)、g~(交换)、g?、<(取消缩进)、>(缩进)。

也包含很多其它的操作。也支持文本对象,包括单词、括号、引号、标签等。

不支持的操作

插入模式是 Sublime Text 编辑状态,支持 Sublime Text 按键绑定:不支持 vi 的插入模式额按键绑定。

不实现 Ex commands,除了通过命令面板执行的:w:e之外。

Under the Hood

Vintage 模式是完全通过按键绑定和插件 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

在 Lion 中,长按按键并不会重复输入,而是会打开一个提示菜单来在有差异的字符间进行选择,这在命令模式下工作可能不太好,所以你也许想禁用它,在 terminal 中输入下面的命令:

defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false

Ctrl 按键

Vintage 支持这些 ctrl 按键绑定:

  • Ctrl+[:退出
  • Ctrl+R:重做
  • Ctrl+Y:向下一行
  • Ctrl+E:向上一行
  • Ctrl+F:向下翻页
  • Ctrl+B:向上翻页

然而,由于回合 Sublime Text 中其他按键绑定冲突,Windows 和 Linux 中这些命令默认都被禁用了,启用方式为修改:

"vintage_ctrl_keys": true

Ex 模式

VintageEx查看 Vintage 的 Ex 模式。