39

カーソルを自動ラップqoutesまたは他の構文要素の外にジャンプさせる高速な方法が必要です。毎回矢印キーに手を伸ばす必要はなく、マウスに行きたくないのは間違いありません。

ここに画像の説明を入力してください

私のワークフローでこれを解決するための迅速で簡単な方法はありますか?

4

12 に答える 12

60

ショートカット(shift+ space、または好きなもの)を使用してカーソルを移動できます。

あなたのKey Bindings - User

{ "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true} }
于 2013-02-10T18:15:26.790 に答える
15
于 2013-12-29T07:46:47.427 に答える
9

このための最善の解決策は、Sublime Textにマクロを記録し、それをキーボードショートカットに割り当てることです。次の手順を実行します:

  1. alert('hello')などの行を作成し、文字'o'の直後にカーソルを置きます。
  2. 次に、[ツール]> [マクロの記録]に移動して、記録を開始します。
  3. Command+を押します→</kbd> to go to the end of line.
  4. 押し;て押すEnter
  5. [ツール]>[マクロの記録の停止]に移動して、マクロの記録を停止します
  6. [ツール]>[再生マクロ](オプション)でマクロをテストできるようになりました
  7. [ツール]>[マクロの保存]に移動してマクロを保存します(例:EndOfLine.sublime-macro)
  8. [設定]>[キーバインド]の角かっこでこれを追加してショートカットを作成します-ユーザーファイル:

    {
    "keys": ["super+;"], "command": "run_macro_file", "args": {"file": "Packages/User/EndOfLine.sublime-macro"}
    }
    
  9. Commandこれで、 +を押すたびに;、現在の行の終わりにセミコロンが魔法のように配置され、カーソルが次の行に移動します。

ハッピーコーディング!

于 2013-08-10T19:54:15.523 に答える
5

A more complete way to make a key binding would be:

    { "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
        [
            { "key": "following_text", "operator": "regex_contains", "operand": "^[)\"\\]]", "match_all": true },
            { "key": "auto_complete_visible", "operator": "equal", "operand": false }
        ]   
    },

Assuming you want shift+space as the shortcut. Or you can change it to tab as well

As found in http://www.sublimetext.com/forum/viewtopic.php?f=3&t=5174#p23086

于 2015-10-14T18:59:31.977 に答える
3

RiccardoMarottiの投稿に続いて;

次の行の角かっこをバイパスする場合は、argsセクションで「文字」を「行」に置き換えることができます。

{ "keys": ["shift+space"], "command": "move", "args": {"by": "lines", "forward": true} }
于 2013-06-11T22:15:59.450 に答える
2

Dell XPSでは、CtrlEnterを押すとうまくいきます

于 2013-06-02T01:03:22.543 に答える
2

run_multiple_commands.pyという名前のプラグインの助けを借りてこの機能を部分的に実装しています(以下を参照)

ST3でのみテストされていますが、プラグインはST3の最初のバージョンよりも前であり、ST2でも機能するはずです)。

ショートカットの構成は次のとおりです。

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move", "args": {"by": "characters", "forward": true} }
        ]
    },
    "context":
    [
        { "key": "preceding_text", "operator": "regex_contains", "operand": "[)\\]}'\"]$", "match_all": true},
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move", "args": {"by": "characters", "forward": true} },
        ]
    },
    "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[)\\]}'\"]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move_to", "args": {"to": "brackets"} },
        ]
    },
    "context":
    [
        { "key": "following_text", "operator": "regex_contains", "operand": "^[(\\[{]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

{
    "keys": ["shift+space"],
    "command": "run_multiple_commands",
    "args": {
        "commands": [
            {"command": "move_to", "args": {"to": "brackets"} },
            {"command": "move", "args": {"by": "characters", "forward": true} },
        ]
    },
    "context":
    [
        { "key": "following_text", "operator": "not_regex_contains", "operand": "^[)\\]}'\"]", "match_all": true },
        { "key": "preceding_text", "operator": "not_regex_contains", "operand": "[)\\]}'\"]$", "match_all": true},
        { "key": "following_text", "operator": "not_regex_contains", "operand": "^[(\\[{]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},

shift+space4つの条件に対する1つのショートカット( ):

  1. カーソルは引用符または閉じ括弧/括弧の直後にあります:

    1文字前に移動します

  2. カーソルは引用符または閉じ括弧/括弧の直前にあります:

    1文字前に移動します

  3. カーソルは括弧/括弧を開く直前にあります:

    閉じ括弧/括弧に移動します

  4. 1&&!2&&!3

    閉じ括弧/括弧に移動します

    もう1文字前に移動します

STでこの構成を使用するには、最初にディレクトリに名前run_multiple_commands.pyを付けたファイルを追加する必要があります。その内容は、この記事.../Package/User/の2番目のコード部分です。

このソリューションは日常の使用には問題ありませんが、次の理由で完全ではありません。

  1. カーソルは引用符から飛び出すことができません(カーソルの直後に引用符が続く場合は、カーソルをステップオーバーするだけです)。
  2. コードブロックがコメント化されている場合、カーソルは最も近い括弧、引用符、または角かっこからジャンプできません。
于 2013-10-03T21:50:54.507 に答える
2

Ctrl + M is the default one that I have on windows machine. Just do it

于 2017-04-18T06:39:45.653 に答える
1

おそらく、homeendキーはあなたの指の近くにあります。

于 2013-02-10T18:07:25.840 に答える
1

ctrl+を使用fして、カーソルを1スペース前に移動します。また、Macでは。と交換caps lockしましctrlた。caps lock+fに到達するのははるかに簡単です。それは私にとってかなりうまくいきます。

于 2013-05-16T07:43:31.530 に答える
1

I found another way which lies within sublime keybindings itself. Basically, I just modify the keybindings for auto closing parens, that is, I replace "contents": "($0)" with "contents": "($1)$0". Then just hit Tab to get out of the parenthesis. So I add in my keybindings the following:

{ "keys": ["("], "command": "insert_snippet", "args": {"contents": "($1)$0"}, "context":
    [
      { "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
      { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
      { "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|;|\\}|$)", "match_all": true }
    ]
},

And similar for square brackets, curly brackets, and single and double quotes.

于 2017-06-12T02:12:30.507 に答える
0
Ctrl + PgUp Cycle up through tabs

Ctrl + PgDn Cycle down through tabs

これは括弧の終わりに行くことができます

于 2013-06-11T03:05:12.600 に答える