Безопасный повтор (Ctrl-Y)

Безопасный повтор (Ctrl-Y)

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

Связанный контент