复古模式
Vintage是一个用于Sublime Text的vi模式编辑包。它允许您将vi的命令模式与Sublime Text的功能相结合,包括多种选择。
复古模式是公开开发的,补丁是非常受欢迎的。如果你想贡献参见GitHub repo.
启用
默认情况下,通过 ignored_packages 设置禁用Vintage。如果您从被忽略的包列表中删除 "Vintage"
,您将能够使用vi键进行编辑:
- 选择首选项 设置菜单项
- 编辑 ignored_packages setting, 改变:
"ignored_packages": ["Vintage"]
到:"ignored_packages": []
设置 然后保存文件. - 复古模式启用了 – 你会看到 "INSERT MODE" 列在状态栏上
默认情况下,Vintage以插入模式开始。可以通过在用户设置中添加以下设置来更改此设置:
"vintage_start_in_command_mode": true
包含什么
Vintage包括最基本的动作: d (删除) 、y (复制) 、c (更改) 、gu (小写) 、gU (大写) 、g ~ (交换大小写) 、g?(第13页),(缩进)。
它还包括许多动作,包括l、h、j、k、W、w、e、E、b、B、alt + w (子词移动),alt + W (通过子词向后移动),$,^,%,0,G,gg,f,F,t,T,^ f,^ b,H,M,和l。
支持文本对象,包括单词、引号、括号和标签。
重复 (.) 在那里,就像指定命令和动作的计数一样。支持寄存器,宏和书签也是如此。也支持许多其他杂项命令,例如 \ * 、/、n、N、s、Sand更多。
不做什么
插入模式是常规的 Sublime Text 编辑,具有通常的 Sublime Text 键绑定: vi插入模式键绑定不被模拟。 除了通过命令选项板工作的: 魔杖: e之外,没有实现Ex命令。
Under the Hood
复古模式完全通过键绑定和插件API实现 -- 请随意浏览复古包,看看它是如何组合在一起的。例如,如果要绑定 jj 到退出插入模式,可以添加此键绑定:
{
"keys": ["j", "j"],
"command": "exit_insert_mode",
"context":
[
{ "key": "setting.command_mode", "operand": false },
{ "key": "setting.is_widget", "operand": false }
]
}
Mac
默认情况下,在Mac上,按住一个键不会重复,而是会显示一个弹出菜单来在字符变化之间进行选择。这在命令模式下不能很好地工作,因此您可能需要禁用它。这可以通过在 Terminal.app 中执行以下操作来完成:
defaults write com.sublimetext.2 ApplePressAndHoldEnabled -bool false
Ctrl Keys
Vintage 支持以下Ctrlkey 绑定:
- 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_key 设置:
"vintage_ctrl_keys": true
启用。
Ex 模式
看一下VintageEx来了解 VintageEx 的ex模式。