从我的角度来看,在 ST (简称 Sublime Text) 中,重做操作的工作方式非常奇怪且不方便。
第一个测试。输入一些文本,例如
Foo
然后按 Ctrl-Y 一次或多次。您将看到:
FooFooFoo
第二次测试。再次输入一些内容,例如
The cat on the roof.
然后按 Backspace 键删除句子末尾的点。好的,然后按 Ctrl-Y 几次。您将看到:
The cat on the ro
它与我使用过的任何文本编辑器/IDE(Brackets、Vim 等等)都非常不同。
有办法解决它吗?
答案1
ST 中的默认重做/撤消键绑定是:
ctrl+z
:undo
ctrl+shift+z
:redo
ctrl+y
:redo_or_repeat
(在@MattDMo 中解释回答)ctrl+u
:soft_undo
这不仅可以撤消文本更改,还可以撤消光标移动。如果您跳转到某个位置并想返回或添加了不想要的选择,这会非常有用。ctrl+shift+u
:soft_redo
因此,您想要的键绑定是ctrl+shift+z
。
但是如果您想将其映射到ctrl+y
,您可以打开Preferences >>> Keybindings - User
并粘贴以下内容:
[
{
"keys": ["ctrl+y"],
"command": "redo"
}
]
答案2
CtrlY不是重做的快捷键,而是“重复上一个操作”的快捷键。执行一些操作,然后单击菜单Edit
,查看菜单选项的内容^Y
。如果您刚刚输入内容,它很可能会显示“重复插入字符”之类的内容,如果您刚刚按了 ,它可能会显示“重复左删除” Backspace。它旨在与 或“撤消上一个操作”结合使用CtrlZ。例如,您选择了一些文本并按Delete,结果发现您选择了太多内容。然后您可以按CtrlZ撤消删除,然后CtrlY按重复删除动作。