0
我發現一個偉大的鍵綁定,跳過崇高代碼compeletion通過點擊進入這裏的鏈接: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
它明確地工作,我希望......大部分時間。例如,如果我打字在一些javascript:
function(p1, p2|)|
hitting enter..^.^
,我按下回車鍵,當光標在第一胡蘿蔔,然後將跳轉到第二胡蘿蔔這是我想要的。但是,還有另外一種情況,就是當你打開時,在崇高的設置文件中說方括號。
[|]|
.^.^
因爲鍵盤映射光標躍過右括號,當在現實中你想要的是插入像一個新的行現在:
[|
.^
|
....^
]
,並從第一移動胡蘿蔔第二胡蘿蔔,就像當你創建一個JavaScript函數,這種情況發生的行爲:
function myFunction(){|
| <-- cursor tabbed over
} <--curly on bottom
我的問題是,我真的不明白這正則表達式尚好,或如何使用他們,我n與鍵盤映射組合在一起。真的是我需要弄清楚(我認爲)是如何插入某種條件成基本上只是檢查鍵盤佈局
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
我怎麼會去這樣做呢?感謝您的幫助:)
嘿,謝謝你的回覆。這實際上並不是我希望它與括號或方括號一起工作,它更像是:專門用於方括號的方括號如果不相鄰,則如何使它工作(即跳過括號):'[一些代碼|]'但不起作用(這是打開一個換行符),當括號正好相鄰,如:[[|]'。垂直管道應該代表我的光標在哪裏。這是否更有意義? – mbigras
@mbigras好的,我現在明白了。我會看看我能想出什麼... – MattDMo
嘿馬特,只是想知道如果你有機會再看看這個呢。我仍然試圖自己弄清楚,如果你找到了方法,我一定會很感激:) – mbigras