Search 是否有办法在sublime 3中显示和搜索所有配置的键盘快捷键?
在《升华文本3》中,我确实缺少两个功能:Search 是否有办法在sublime 3中显示和搜索所有配置的键盘快捷键?,search,keyboard-shortcuts,sublimetext3,text-editor,Search,Keyboard Shortcuts,Sublimetext3,Text Editor,在《升华文本3》中,我确实缺少两个功能: 功能齐全的集成终端-类似于geany(是的,我知道Glue,但它的功能不像普通终端) 可搜索显示所有当前活动、配置的键盘快捷键和所有软件包,并提供简短说明和软件包名称 虽然我可以不使用前者(但我很想得到这方面的评论),但我怀疑有一些函数或用户脚本/插件可以实现后者。我什么也找不到。我真的厌倦了浏览许多数据包的相当神秘的文本配置文件,只是为了发现快捷方式被另一个数据包的快捷方式覆盖了。需要帮助吗?关于所有当前活动的键盘快捷键的可搜索显示,您可以轻松创建
- 功能齐全的集成终端-类似于geany(是的,我知道
,但它的功能不像普通终端)Glue
- 可搜索显示所有当前活动、配置的键盘快捷键和所有软件包,并提供简短说明和软件包名称
虽然我可以不使用前者(但我很想得到这方面的评论),但我怀疑有一些函数或用户脚本/插件可以实现后者。我什么也找不到。我真的厌倦了浏览许多数据包的相当神秘的文本配置文件,只是为了发现快捷方式被另一个数据包的快捷方式覆盖了。需要帮助吗?关于所有当前活动的键盘快捷键的可搜索显示,您可以轻松创建一个插件来执行此操作:
- 从
菜单->工具
->开发者
新插件
- 将模板的内容替换为以下内容:
import sublime, sublime_plugin class ShowMappedKeysCommand(sublime_plugin.TextCommand): def run(self, edit): files = sublime.find_resources('*.sublime-keymap') items = [] for file in files: contents = sublime.load_resource(file) mapped = sublime.decode_value(contents) for mapping in mapped: items.append((file, mapping['keys'], mapping['command'])) self.view.window().run_command('new_file') view = self.view.window().active_view() view.insert(edit, 0, '\n'.join(repr(item) for item in items))
- 将其保存在默认文件夹中,命名为
show\u mapped\u keys.py
show_-mapped_-keys
命令,或者从Sublime控制台(View
menu->show-Console
->Sublime.active_window().active_-View().run_命令(“show_-mapped_-keys”)
)
这将创建一个新选项卡,其中列出所有活动配置的键盘绑定,显示其定义位置(即它所属的包或您的用户keybindings文件)、键是什么以及keybinding将执行的命令的名称。然后就可以像平常一样进行搜索了
显然,如果有冲突,这不会显示哪个优先级。找到答案的一种方法是在控制台中执行
sublime.log_命令(True)
,然后再尝试相关的键绑定,并查看执行的是哪个命令。虽然Keith Hall的工作很好,但Package Control中已经有一个插件,它有许多特性:由skuroda提供。您可以搜索所有关键映射、所有冲突、直接冲突、重叠冲突、单个包冲突(都在一个包内)和一个非常有用的冲突:多个包冲突,您可以选择怀疑冲突的包并仅测试它们。如果你有像或安装了大约一百万个组合键的软件包(无意冒犯,我喜欢这些软件包),并且你知道问题不在那里,那么这非常好。请注意,Tools->Developer
菜单目前只在开发版本中可用。伙计,这是黄金!我正打算这么做,但它被其他几个项目积压了下来。知道在输出中包含args的方法吗?我尝试添加mapping['args']
,它会删除一个KeyError
@Enteleform我想不是所有的键映射都有参数,所以你可以做mapping.get('args',None)
,如果args
键不存在,它将输出None
,否则args
:)太棒了,谢谢!在我整理完一些东西后,我可能会想办法解决这个问题。如果每个supreme keymap
都有一个带有子QuickPanel的QuickPanel,那就太棒了,这样你就可以快速浏览你的网页了bindings@Enteleform从中,听起来FindKeyConflicts包值得一看,也许它已经可以以这种格式显示绑定:)