Sublime Text 中将快捷键与文件类型相关联

1. 安装目录/Data/Packages/User下(如果安装目录下没有Data文件夹,那就是安装目录/Packages/User),修改Default (Windows).sublime-keymap,因为我是windows平台嘛,其他平台选择对应文件就哦了。添加内容如下:

[javascript] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. [  
  2.     { "keys": ["ctrl+alt+f"], "command""show_panel""args": {"panel""find_in_files"} },  
  3.     { "keys": ["ctrl+shift+f"], "command""js_format","context":  
  4.         [  
  5.             { "key""setting.js""operator""equal""operand"true }  
  6.         ]  
  7.     },  
  8.     { "keys": ["ctrl+shift+f"], "command""compact_expand_css""args": { "action""expand" },"context":  
  9.         [  
  10.             { "key""setting.css""operator""equal""operand"true }  
  11.         ]  
  12.     }  
  13. ]  
这里我把“多文件中查找面板”的快捷键Ctrl+Shift+F给替换为Ctrl+Alt+F。这完全是向Eclipse致敬,额,其实是这个组合用顺手了。

关键就在context属性的设定,其值为一个数组,满足其中一个便可以执行命令。数组中每一个对象都是一个断言表达式,简单解释下这里用到的属性:key是查询目标,operator是操作符,operand是期望值。setting.x是查询对应配置文件中的x属性。下一步我们就设定一下这个值。

2.还是在这个文件夹下,新建文件JavaScript.sublime-settings,内容很简单:

[javascript] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. {  
  2.     "js"true  
  3. }  
类似的,新建文件CSS.sublime-settings,添加:
[javascript] view plain copy 在CODE上查看代码片 派生到我的代码片
  1. {  
  2.     "css"true  
  3. }  
然后就收工了~原理是ST2为每种文件类型都设定了Settings配置文件。根据这点,我们可以在快捷键映射文件中对Settings中的属性进行读取,从而判断当前编辑的文件的后缀。根据覆盖优先级,在User文件夹下建立的配置文件拥有最高优先级,所以相关配置文件都放入User文件夹内。其他判断也可以采用类似的形式。


参考:

Key Binding:http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/key_bindings.html

Settings:http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/customization/settings.html

JSFromat:https://github.com/jdc0589/JsFormat

css格式化插件:http://my.oschina.net/ito/blog/91102http://www.cnblogs.com/meetrice/archive/2013/01/24/2875093.html

顺便说一句,一直以为ST2默认快捷键 Ctrl+Shift+F出现的是替换面板,结果就是发现在这个面板下的替换对所有打开的文件有效。后来才知道Ctrl+H才是替换面板。。。终于解开了我对选中内容进行替换的疑惑。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值