所以问题是将其分配给Escape而不覆盖任何其他功能。我尝试了以下方法,但它不起作用。
{
"keys": ["escape"],
"command": "exec",
"args": {"hide_phantoms_only" : true },
"context": [ { "key": "phantom_visible", "operator": "equal", "operand": true }],
},
我没有找到任何关于存在上下文密钥的文档,所以phantom_visible
只是猜测。
答案 0 :(得分:4)
不幸的是,目前Sublime Text(在编写本文时,编译3126)没有可用于键绑定的上下文,以告知何时显示内联构建错误幻像。这已经简要discussed in the ST forums,因此未来的构建可能包含此功能。
与此同时,受this post启发,我们可能会尝试创建一个不会与默认 Esc 行为冲突的键绑定。但值得注意的是,默认的键绑定可能会发生变化,因此我们需要在更新ST时注意它,看看它是否仍然相关/正确涵盖所有场景:
{ "keys": ["escape"], "command": "exec", "args": { "hide_phantoms_only": true },
"context":
[
// inverse of all the "escape" key contexts found in the Default keybindings
{ "key": "num_selections", "operator": "equal", "operand": 1 },
{ "key": "has_next_field", "operator": "equal", "operand": false },
{ "key": "has_prev_field", "operator": "equal", "operand": false },
{ "key": "panel_visible", "operator": "equal", "operand": false },
{ "key": "overlay_visible", "operator": "equal", "operand": false },
{ "key": "auto_complete_visible", "operator": "equal", "operand": false }
]
}
答案 1 :(得分:0)
我使用Package Control安装了Chain of Command,这使我可以为每个上下文执行多个命令。
当我按下[esc]键时,当面板可见时它会执行三件事:
这是我对此的关键映射:
[
{ "keys": ["escape"],
"context": [
{ "key": "panel_visible", "operator": "equal", "operand": true }
],
"command": "chain",
"args": {
"commands": [
["hide_panel", {"cancel": true}],
["exec", {"hide_phantoms_only": true}],
["exec", {"kill": true}]
]
}
}
]