1

コードの入力を続行できるように、カーソルを自動ペア終了文字を超えて移動できるようにしたいと考えています。

私はSublime Textの初心者です。私はSOでここを見ていましたが、このタイプのコード(スニペット)を使用するこの投稿を見つけました:

//Tab skips to end of autopaired characters
{ "keys": ["tab"], "command": "move", "args": {"by": "characters", "forward": true},

そして、次のDefault(Windows)sublime-keymap -- Userようにファイルに追加しました:

//Tab skips to end of autopaired characters
    { "keys": ["tab"], "command": "move", "args": {"by": "characters", "forward": true},
      "context":[

       ]
    }

「タブ」キーを押してカーソルを閉じた自動ペアを過ぎて移動させると、カーソルはタブストップに移動します (デフォルトでは4 つのスペースを追加します)。矢印キーを押すように「前方」に移動しません。

タブキーまたは他のキーを使用してカーソルを前方に移動するにはどうすればよいですか? ここで何が欠けている/間違っていますか? 矢印キーを使用する必要はありません。これは、ホーム キーからの自然なキーストロークではないためです (特に、ユーザー キーボードによって異なります)。ありがとう!

4

1 に答える 1

2

リンクした質問は実際には正しかったです。contextキー配列を削除しただけで、Sublime Textにカーソルを 1 文字も前に移動させたくないことが効果的に伝えられました。Tabアスカーの完全なキー バインドを使用します。

{ "keys": ["tab"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
    [ 
        { "key": "selection_empty", "operator": "equal", "operand": true },
        { "key": "preceding_text", "operator": "not_regex_match", "operand": "[[:space:]]*", "match_all": true },
        { "key": "following_text", "operator": "regex_contains", "operand": "^[\"'\\)\\}\\]\\_]", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false },
        { "key": "has_next_field", "operator": "equal", "operand": false } 
    ] 
},

Unofficial Docs Key Bindings pageで、キーバインディングとコンテキストの詳細を読むことができます。

于 2013-05-24T18:10:04.533 に答える