Czy istnieje sposób na uzyskanie typu składni do zdefiniowania skrótów klawiaturowych lub do ustawienia skrótu klawiaturowego zależnego od typu składni (być może pod ustawieniem "context"
)?Sublime Text and Clojure: Nie paruj pojedynczych cudzysłowów
Moje cytowane listy '(1 2 3)
należy wprowadzić w następujący sposób: '(1 2 3)'
, ponieważ Sublime stosuje to pomocne (ale nie w tym przypadku) zachowanie.
Oto istotne nieco pliku Default (OSX).sublime-keymap
// Auto-pair single quotes
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'$0'"}, "context":
[
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^(?:\t| |\\)|]|\\}|>|$)", "match_all": true },
{ "key": "preceding_text", "operator": "not_regex_contains", "operand": "['a-zA-Z0-9_]$", "match_all": true },
{ "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.single", "match_all": true }
]
},
{ "keys": ["'"], "command": "insert_snippet", "args": {"contents": "'${0:$SELECTION}'"}, "context":
[
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": false, "match_all": true }
]
},
{ "keys": ["'"], "command": "move", "args": {"by": "characters", "forward": true}, "context":
[
{ "key": "setting.auto_match_enabled", "operator": "equal", "operand": true },
{ "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
{ "key": "following_text", "operator": "regex_contains", "operand": "^'", "match_all": true }
]
},
Czy nie ma prostszego sposobu? czy mógłbyś umieścić zdanie lub dwa o tym, dlaczego nadal nie używać 'auto_match_enabled'? –
Zabawny Myślałem, że powinienem to wyjaśnić. Tak czy inaczej, zaktualizowałem odpowiedź. Dodałem również opcję alternatywną, w której można edytować domyślny plik. Jedyną rzeczą, na którą należy zwrócić uwagę, jest to, że jeśli kiedykolwiek będziesz musiał przywrócić lub wykonać jakąkolwiek aktualizację, plik może zostać zniszczony. Chociaż ST2 nie wygląda na to, że otrzyma jakiekolwiek aktualizacje, więc może być w porządku. Edycja domyślnego pliku wymagałaby po prostu dodania tego kontekstu selektora do domyślnych wpisów. – skuroda
Cóż, na pewno będę na ST3, ale mogę zrobić trochę pracy na Windowsie w ST2. Powinno być możliwe przesłonięcie domyślnego mapowania na klawiaturze, po prostu redeclaring go w pliku użytkownika. –