Автозаполнение возвышенного текста с помощью клавиши табуляции только после символа - PullRequest
0 голосов
/ 08 мая 2018

Может ли Sublime text 3 быть настроен на автозаполнение при нажатии клавиши табуляции только тогда, когда курсор находится после символа, а не до?

-done should not be added

Я хочу избежать завершения -done и вместо этого хочу добавить пробел.

1 Ответ

0 голосов
/ 09 мая 2018

Как вы уже поняли, поведение ST по умолчанию заключается в "вставке наилучшего завершения", когда перед кареткой стоит только пробел в строке.

К счастью, ST очень настраиваем, и мы можем переопределить это поведение на то, что вы желаете.

Чтобы сделать это, добавьте это в ваши пользовательские сочетания клавиш:

{ "keys": ["tab"], "command": "indent",
    "context":
    [
        { "key": "preceding_text", "operator": "regex_match", "operand": "^\\s*$", "match_all": true },
        { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
        { "key": "following_text", "operator": "not_regex_match", "operand": "^$", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false },
    ]
},
{ "keys": ["tab"], "command": "insert", "args": { "characters": "\t" },
    "context":
    [
        { "key": "preceding_text", "operator": "regex_match", "operand": "^\\s*$", "match_all": true },
        { "key": "selection_empty", "operator": "equal", "operand": true, "match_all": true },
        { "key": "following_text", "operator": "regex_match", "operand": "^$", "match_all": true },
        { "key": "auto_complete_visible", "operator": "equal", "operand": false },
    ]
},

Это говорит ST, что когда вы нажимаете Tab , он должен иметь отступ для текста, когда выполняются следующие условия: - нет выбора - каретка находится в начале строки или перед ней ставится только пробел (то есть отступ) - после (/ справа от) каретки есть текст - всплывающее окно автозаполнения не отображается

Кроме того, когда все эти условия выполняются, за исключением того, что в строке после каретки есть текст, мы сообщаем ST вставить символ табуляции. Примечание: ST переведет это на правильное количество пробелов, если вы используете пробелы для отступа.

(старое поведение отступа при нажатии Tab с многострочным выделением останется, как и другие привязки по умолчанию, когда наши условия не будут выполнены.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...