Подобно ответу Jonno выше, вы можете изменить настройки раскладки клавиатуры для данного пакета таким же образом:
Создайте Default.sublime-keymap
в каталоге LaTeX (при необходимости создайте папки):
Windows:
%APPDATA%\Sublime Text 3\Packages\LaTeX\Default.sublime-keymap
macOS:
~/Library/Application Support/Sublime Text 3/Packages/LaTeX/Default.sublime-keymap
Linux:
~/.config/sublime-text-3/Packages/LaTeX/Default.sublime-keymap
Затем вы можете скопировать и вставить стандартные раскладки клавиатуры (« Preferences -> Key Bindings - Default
) для двойных кавычек в этот новый файл. Затем я изменил действия этих привязок клавиш, чтобы больше не вставлять пары в кавычках. Это результат моих изменений:
[
// changed snippet arg contents from `"\"$0\""` to `"\""` to prevent inserting paired quotes
{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\""}, "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.double - punctuation.definition.string.end", "match_all": true }
]
},
// changed the command and args from `move` to the same command/args as above to prevent skipping auto-inserted quotes
{ "keys": ["\""], "command": "insert_snippet", "args": {"contents": "\""}, "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 },
{ "key": "selector", "operator": "not_equal", "operand": "punctuation.definition.string.begin", "match_all": true },
{ "key": "eol_selector", "operator": "not_equal", "operand": "string.quoted.double - punctuation.definition.string.end", "match_all": true },
]
}
]
Заметки:
- Я не изменял оператор
backspace
(видимый в таблице ключей по умолчанию), когда был заключен в кавычки. Я не совсем уверен, как исправить или если поведение некорректно или нет
- Ваши стандартные сочетания клавиш могут отличаться от моих, не стесняйтесь вносить те же изменения, которые я описал в комментариях выше
- Я полагаю, вы можете удалить весь
context
раздел, и это сработает, но я сам не пробовал.