2016-04-26 3 views
0

昇順でコードをコンパイルすると、昇順でジャンプする偉大なキーバインドが見つかりました。ここにリンク:quoraがあります。私のキーマップファイルのコードは、{}または[]でない限り、コード補完を昇華させるキーバインディングを作成するには

// BEGIN keymaps for skipping to the end of ") and ] code compeletion 
{ "keys": ["enter"], "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 } 
    ] 
}, 
// END keymaps for skipping to the end of ") and ] code compeletion 

です。どのようにしたいのですか...ほとんどの場合、ほとんどの場合動作します。

function(p1, p2|)| 
hitting enter..^.^ 

を、カーソルが最初にニンジンにあるとき、私はそれは私が欲しいものである第二ニンジンに飛び越えるますエンターキーを押します。たとえば、私はいくつかのJavaScriptで入力しています。しかし、崇高な設定ファイルの中に大括弧をつけて開くという別のケースがあります。

[| 
.^ 
    | 
....^ 
] 

とに最初からニンジンを移動しますので、現実には何がしたいことのように新しい行を挿入するときにカーソルをキーマッピングは、右角括弧の上にジャンプの今

[|]| 
.^.^ 

function myFunction(){| 
    | <-- cursor tabbed over 
} <--curly on bottom 

私の問題は、私は本当によくまだ、または私はそれらを使用する方法を正規表現を理解していないです:ちょうどあなたはjavascript関数を作成するときに起こる行動状の第2ニンジン、キーマップとの組み合わせは崇高です。

if (next char is a ] and the char before it is a [) 
then don't do any completion hoping 
else do exactly like the keymap is already set up to do 

どのように私はこれをやって行くだろう:本当に、私は(私が思う)を把握するために必要なもの基本的にチェックし、キーマップに条件のいくつかの並べ替えを挿入する方法ですか?あなたの助けをありがとう:)

答えて

0

私はあなたの質問を正しく理解したい場合は、カーソルが括弧の中にあるときに機能するようにしたい()角括弧の中に[]が入っていないときは機能しません。これに

{ "key": "following_text", "operator": "regex_contains", "operand": "^[)'\"\\]]", "match_all": true }, 

:そのような場合、単純にこの行を変更

{ "key": "following_text", "operator": "regex_contains", "operand": "^[)'\"\]", "match_all": true }, 

を私がしたすべては、この

にこの

"^[)'\"\\]]" 

から"operand"を変更しました

"^[)'\"\]" 

削除して

\] 
+0

お返事ありがとうございます。実際にはかっこや角かっこで動作させたいとは思っていません。角かっこの場合は、角カッコが互いに隣り合っていない場合、どのように動作させることができますか? '[|]'のように、角括弧が隣り合っているときには、いくつかのコード|] 'が動作しません(改行を開きます)。垂直パイプは、私のカーソルがどこにあるのかを表しています。それは理にかなっていますか? – mbigras

+0

@mbigras OK、分かりました。私は私が何を思いつくことができるかを見ていきます... – MattDMo

+0

ちょっとマット、あなたはまだこれをもう一度見てみたいと思っています。私はまだ自分自身でそれを理解しようとしている、と私は確かにあなたが方法を見つけた場合はそれを感謝する:) – mbigras

関連する問題