注:巴符號(|
)代表整個這個問題如何製作僅適用於特定情況的密鑰綁定?
我已經做了一個UltiSnips片斷這樣的編輯器插入記號:
snippet "(\w+)" "HTML tag" r
<`!p snip.rv = match.group(1)`>$0</`!p snip.rv = match.group(1)`>
endsnippet
這讓我展開任何字成一個HTML標籤,例如輸入「body」並按下標籤擴展爲<body>|</body>
。
插入符號位於標籤之間。現在當我按回車鍵,我想直到結束:
<body>
|
</body>
這可以通過這樣的熱鍵綁定來實現:
:ino <buffer> <CR> <CR><Esc>O
但我並不想永久重新綁定我的返回鍵。當我的插入符號位於開始和結束HTML標記之間時,我只希望該特定的keybind處於活動狀態。
這怎麼能做到最簡單?
另一個例子是,當我有我的插入符號放置在兩個大括號之間,就像這樣:
function() {|}
並按下Enter鍵,我想結果是:
function() {
|
}
再次,這可以通過上面的關鍵映射來完成,但在這種情況下,我只希望它在我的脫字符位於兩個大括號之間時處於活動狀態。