复古模式
版
Vintage 是 Sublime Text 的 vi 模式编辑包。它允许您将 vi 的命令模式与 Sublime Text 的功能(包括多项选择)相结合。
Vintage 模式是开源开发的,非常欢迎您提供补丁。如果您想做出贡献,详细信息请参阅 GitHub 仓库。
启用 Vintage🔗
默认情况下,Vintage 通过 ignored_packages
设置禁用。如果从忽略的软件包列表中删除 "Vintage"
,您将能够使用 vi 键进行编辑
选择
菜单项编辑
ignored_packages
设置,将其从:"ignored_packages": ["Vintage"]
更改为"ignored_packages": []
并保存文件。Vintage 模式现已启用 - 您将在状态栏中看到“插入模式”
默认情况下,Vintage 从插入模式启动。这可以通过将以下设置添加到您的用户设置中来更改
"vintage_start_in_command_mode": true
包含的功能🔗
Vintage 包括大多数基本操作:d(删除),y(复制),c(更改),gu(小写),gU(大写),g~(切换大小写),g? (rot13), <(取消缩进)和 >(缩进)。
它还包括许多移动,包括 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、S 等等。
不包含的功能🔗
插入模式是常规的 Sublime Text 编辑,使用通常的 Sublime Text 键绑定:不模拟 vi 插入模式键绑定。
除了通过命令面板工作的 :w 和 :e 之外,没有实现 Ex 命令。
幕后🔗
Vintage 模式完全通过按键绑定和插件 API 实现 – 您可以随意浏览 Vintage 软件包,了解它是如何组合在一起的。例如,如果您想将 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 键🔗
Vintage 支持以下 Ctrl 键绑定
Ctrl+[: Escape
Ctrl+R: 重做
Ctrl+Y: 向下滚动一行
Ctrl+E: 向上滚动一行
Ctrl+F: 向下翻页
Ctrl+B: 向上翻页
但是,由于它们与其他 Sublime Text 按键绑定冲突,因此默认情况下在 Windows 和 Linux 上禁用这些绑定。可以使用 vintage_ctrl_keys
设置启用它们
"vintage_ctrl_keys": true
Ex 模式🔗
请查看 VintageEx 以获取 Vintage 的 Ex 模式。