2

私の崇高なキーマップファイルには、すでにこれがあります:

{ "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 }
    ]
}

したがって、カーソルがこれらの文字の前にある場合)}]:;> shift+space はカーソルを右に移動し、文字をジャンプします。これは非常に便利で、すでによく知られています。

今、逆もあるといいなと思っていました。終わりの } にジャンプしたところを想像してみてください。しかし、{} の中にまだ何か入力する必要があることを思い出しました。shift+space をもう一度実行して、{} 内に戻ることができれば素晴らしいことです。

このドキュメントをチェックしていましたが、試したすべてが機能しませんでした。

これに関するヘルプやアイデアはありますか?わかりました!

編集:正解に基づく:

だから、@skurodaの答えに基づいて、これが私が思いついたものです. 詳細については、彼の回答の下にあるコメントをお読みください。

{ "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": false}, "context":
    [
        { "key": "preceding_text", "operator": "regex_contains", "operand": "[)'\"\\}\\]>,\\;:]$", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false }
    ]
},
{ "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 }
    ]
},

コードの順序は重要です (preceding_text コマンドは following_text コマンドの前に来る必要があります)。

更新:これに対して、はるかにシンプルで優れた解決策を見つけたと思います:

{ "keys": ["shift+space"], "command": "move", "args": {"by": "characters", "forward": true} },
{ "keys": ["super+shift+space"], "command": "move", "args": {"by": "characters", "forward": false} }

したがって、ここでは文脈はあまり重要ではありません。Shift + Space1文字進み、1文字CMD + Shift + Space戻ります。純粋な喜び!

4

1 に答える 1