gak*_*gak 39 keyboard-shortcuts autocomplete sublimetext sublimetext3
在Sublime Text 3中,我想禁用enter从自动完成下拉列表中选择项目的tab键,并且只允许键执行此操作.
我在内置Default (OSX).sublime-keymap文件中找到了这个部分:
{ "keys": ["enter"], "command": "commit_completion", "context":
[
{ "key": "auto_complete_visible" },
{ "key": "setting.auto_complete_commit_on_tab", "operand": false }
]
},
Run Code Online (Sandbox Code Playgroud)
似乎如果我从配置中删除它enter不会在下拉列表中选择项目.不幸的是,不建议更改此文件,只在我的User文件中覆盖它.我不认为我实际上可以编辑它而不修改.app内容.
我尝试通过删除不同的部分来覆盖它,并删除除了之外的所有内容"keys": ["enter"],但似乎没有任何效果.
如何在不修改内置Default (OSX).sublime-keymap且仅修改User/Default (OSX).sublime-keymap文件的情况下实现此目的?
lyd*_*ell 61
我从未使用过Sublime Text 3,但我认为自Sublime Text 2以来,以下内容没有改变.
你想要实现的实际上是Sublime Text的标准功能.你只需打开它.
你引用的代码中的这一行......
{ "key": "setting.auto_complete_commit_on_tab", "operand": false }
Run Code Online (Sandbox Code Playgroud)
...表示"只有在名为'auto_complete_commit_on_tab'的设置被设置为false时才执行命令".所以只需打开该设置即可.
在Default/Preferences.sublime-settings中:
// By default, auto complete will commit the current completion on enter.
// This setting can be used to make it complete on tab instead.
// Completing on tab is generally a superior option, as it removes
// ambiguity between committing the completion and inserting a newline.
"auto_complete_commit_on_tab": false,
Run Code Online (Sandbox Code Playgroud)
放入"auto_complete_commit_on_tab": trueUser/Preferences.sublime-settings.可以通过"首选项"菜单访问这两个提到的文件.
sku*_*oda 11
您可以将其分配给不存在的命令.尝试添加以下内容User/Default (OSX).sublime-keymap
{ "keys": ["enter"], "command": "noop", "context":
[
{ "key": "auto_complete_visible" },
{ "key": "setting.auto_complete_commit_on_tab", "operand": false }
]
}
Run Code Online (Sandbox Code Playgroud)
如果您安装/编写具有命令的插件,noop则需要更改此命令.
编辑
Lydell的解决方案更好:)忘了那个设置(尽管它在上下文中所以我应该知道......).猜猜我的答案是一个更通用的"如何禁用键绑定".