.png)
В 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'sотвечать)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иповторитьдействие удаления.