2014-09-30 90 views
6

我粘贴默认key-bindings如何诊断和修复Sublime Text 3中的键绑定冲突?

{ "keys": ["ctrl+v"], "command": "paste" }, 
{ "keys": ["ctrl+shift+v"], "command": "paste_and_indent" }, 

我重写他们在我的用户键绑定与

{ "keys": ["alt+k"], "command": "paste" }, 
{ "keys": ["ctrl+k"], "command": "paste_and_indent" }, 

(我用Dvorak,这意味着你的VK另外,我想paste_and_indent是默认的。)

但是ctrl + k执行paste,而不是paste_and_indent。我通过打开控制台命令日志记录确定这一点,与

sublime.log_commands(True) 

但是,如果我做的paste_and_indent命令别的东西,像CTRL + ALT + KALT + K,它正确地调用paste_and_indent

我已经查看了所有安装的软件包的密钥绑定,并没有看到任何其他命令使用ctrl + k。我也禁用了几乎所有的包,除了语法(我甚至不小心disabled Package Control),但仍然,ctrl + k只执行paste

我该如何确定并解决这个冲突,所以ctrl + k执行paste_and_indent

回答

7

查看FindKeyConflicts插件。在各种情况下,有几种方法可以查看所有关键绑定,或者只是相互冲突的绑定。所有选项都可以通过Command Palette获得。

+0

原来我与冗余用户键盘映射文件有冲突。我认为可以将我的键盘映射文件从用户根目录'C:\ Users \ jeffy \ AppData \ Roaming \ Sublime Text 3 \ Packages \ User \ Default(Windows).sublime-keymap'移动到'keymap' sub目录,但事实并非如此。伟大的效用。 – aliteralmind 2014-09-30 15:23:37

+0

@aliteralmind很高兴我可以帮忙。是的,Sublime通过** every **子目录查找'.sublime-settings','.tmTheme','.tmLanguage','.sublime-keymap'等文件,所以如果你想做一个备份或者您需要将其移出“Packages”层次结构。 – MattDMo 2014-09-30 16:04:56

+0

对。您无法移动这些文件,因为看起来,“首选项”菜单中的“密钥绑定”项(以及“设置”)都被硬编码到用户的根目录中。尝试移动它们(例如,到一个'keymap'目录)实际上会导致重复。这是一个耻辱,因为这些文件混乱了我的用户目录。片段和自动完成确实可以移动到子目录。再次感谢。 – aliteralmind 2014-09-30 16:39:49