2014-09-30 69 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