sublime中的默认快捷键调整

sublime中的默认快捷键调整

sublime中提供了大量的可以配置的命令和参数,但一下子要去重新熟悉那么多的快捷键不是很理想。并且,Emacs的快捷键已经使用的很熟悉了,Idea中也可以直接切换为Emacs的绑定。
所以,在sublime中也要调整和Emacs类似的快捷键绑定。

Emacs Pro Essentials

这个将大部分的快捷键都配置好了,是非常好的一个插件。

自定义部分

行首和行尾

这个看起来很简单,但实际上,还是有讲究的:

    {"keys": ["ctrl+a"], "command": "move_to", "args": {"to": "bol", "extend": false }},
    {"keys": ["ctrl+e"], "command": "move_to", "args": {"to": "eol", "extend": false }},
  • 行首
    是代表最前面,包括前面的空格和tab,还是排除前面的空格和tab的区别,对于写代码的人来说,前面有空格或者tab对齐,默认是希望排除掉前面的空格和tab。那就要使用bol,相应的还有一个hardbol就是表示第一个字符,包括前面的空格和tab。另外,对于一个比较长的行wrap成多行的情况也有区别,bol只是跳转到显示的行首,而不是实际的行首,比较符合使用习惯,并且,多次按同样的键,可以跳转到前一行显示的虚拟行首。
  • 行尾
    对于普通的一行不长的话,区别不大,但是如果一行比较长,又有自动wrap的设置,那一行在屏幕上显示时,会自动换行,这个换行只是显示效果,我们一般是希望按照显示效果进行跳转的,那就是跳转到显示的行尾,使用eol就可以了,并且,多次按行尾的键,可以跳转到下一行显示的虚拟行尾。

相应的,如果想要传统意义上面的行首和行尾,那可以切换为hard模式:

    {"keys": ["ctrl+a"], "command": "move_to", "args": {"to": "hardbol", "extend": false }},
    {"keys": ["ctrl+e"], "command": "move_to", "args": {"to": "hardeol", "extend": false }},

multi-cursor 多光标的使用

sublime中的多光标是非常实用的一个功能,最早在TextMate中发明,现在基本上所有的编辑器中都有了,保持和IDEA中使用的快捷键一致。

    {"keys": ["ctrl+alt+shift+j"], "command": "find_all_under"},
    {"keys": ["alt+j"], "command": "find_under_expand"},

跳转到程序的关键定义

这个在Emacs中是通过imenu来实现的,可以通过正则表达式自定义自己感兴趣的关键定义,如class、variable、field、function等的定义,也可以自定义一些感兴趣的关键定义。但在sublime里面,是固定的,应该是和syntax来配合的,可以跳转到class、function等。

    {"keys": ["ctrl+'"], "command": "show_overlay", "args": {"overlay": "goto", "text": "@"} },

在代码中跳转:

这个在Markdown中也非常有用,可以在标题间快速移动:

跳转到函数或者变量的定义或者引用

    {"keys": ["ctrl+alt+g"], "command": "goto_definition" },
    {"keys": ["ctrl+alt+r"], "command": "goto_reference" },

跳转到前一个或者后一个关键位置

保持和IDEA一致:

    {"keys": ["ctrl+alt+left"], "command": "jump_back" },
    {"keys": ["ctrl+alt+right"], "command": "jump_forward"},
posted @ 2022-05-03 11:06  yangwen0228  阅读(300)  评论(0编辑  收藏  举报