安全なやり直し (Ctrl-Y)

安全なやり直し (Ctrl-Y)

ST (略して Sublime Text) では、やり直しアクションは、私の観点からすると非常に奇妙で不便な方法で動作します。

最初のテスト。例えば、テキストを入力します。

Foo

次に、Ctrl + Y を 1 回または複数回押します。次のように表示されます。

FooFooFoo

2番目のテスト。もう一度何か入力してください。例えば

The cat on the roof.

そして、Backspace キーを押して文末のドットを削除します。OK です。その後、Ctrl + Y を数回押します。次のように表示されます。

The cat on the ro

これは、Brackets、Vim など、私がこれまで使用したどのテキスト エディター/IDE とも大きく異なります。

修正する方法はありますか?

答え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繰り返す削除アクション。

関連情報