【问题标题】:How to diagnose and fix a key-binding conflict in Sublime Text 3如何诊断和修复 Sublime Text 3 中的键绑定冲突
【发布时间】:2014-11-25 06:14:49
【问题描述】:

我粘贴的默认key-bindings

{ "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 键盘,这意味着 your Vmy K。另外,我希望 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

【问题讨论】:

    标签: sublimetext2 sublimetext sublimetext3


    【解决方案1】:

    查看FindKeyConflicts 插件。在各种上下文中查看所有键绑定或只是冲突的键绑定有多种选择。所有选项都可以通过命令面板获得。

    【讨论】:

    • 原来我与冗余用户键盘映射文件发生冲突。我认为可以将我的键盘映射文件从用户根目录C:\Users\jeffy\AppData\Roaming\Sublime Text 3\Packages\User\Default (Windows).sublime-keymap 移动到keymap 子目录,但事实并非如此。非常实用。
    • @alliteralmind 很高兴我能提供帮助。是的,Sublime 会在 every 子目录中搜索.sublime-settings.tmTheme.tmLanguage.sublime-keymap 等文件,所以如果你想进行备份或需要移动的东西它脱离了Packages 层次结构。
    • 对。您无法移动这些文件,因为似乎“首选项”菜单中的“键绑定”项(以及“设置”)被硬编码到用户的根目录中。尝试移动它们(例如,移动到 keymap 目录)实际上会导致重复。很遗憾,因为这些文件弄乱了我的用户目录。片段和自动完成确实可以移动到子目录。再次感谢。
    猜你喜欢
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多