PythonTip >> 博文 >> 编程工具

sublime 插件开发-自动生成代码头

zihua 2013-09-28 23:09:30 点击: 850 | 收藏


1、首先要熟悉sublime api,插件可以用python开发,这个很好,写好代码,保存到默认的目录应该是\SublimeText2\Data\Packages\User下面,
可以按下快捷键Ctrl + ‘ 打开SublimeText的控制台,执行如下命令就可以运行刚刚写的小插件,测试效果:
view.run_command('insert_signature')

2、为了方便使用需要绑定快捷键,在同目录下\SublimeText2\Data\Packages\User 有快捷键文件 Default (操作系统类型).sublime-keymap  3个类似的文件,修改绑定快捷键即可,如下:


自动生成代码头 代码如下:
#coding=gbk
'''
Created on -- ::
@author: songpo
'''
#view.run_command('insert_codeheader') 
import sublime, sublime_plugin, datetime
  
class insertSignatureCommand(sublime_plugin.TextCommand):
    def run(self, edit):
        date = datetime.datetime.now()
        dateStr = date.strftime("%Y-%m-%d %X")
        text_encode = """#-*- encoding: utf- -*-\n'''\n"""
        text_author = """\n\n@author: songpo\n'''\n"""
        text = text_encode + 'Created on ' + dateStr + text_author
		#for region in the selection
		#一个region是一个选择块,一次可以选择多个块
        for r in self.view.sel():
            str_r = self.view.substr(r)#str_r是所选择块的文本内容
            if 'Created on ' in str_r:
                if 'Updated on ' in str_r:
                    text = str_r[:str_r.find('Updated on')] + 'Updated on ' + dateStr + text_author
                else:
                    text = str_r.replace(text_author, '\nUpdated on' + dateStr + text_author)
            self.view.erase(edit, r)
            self.view.insert(edit, r.begin(), text)


参考博客:http://www.cnblogs.com/restran/archive/2013/01/07/2850254.html

1、自定义快捷键: sublime的操作体验完全基于配置,如有你愿意多调整,完全可以按照自己的意愿重新定义一个操作体验,有2个快捷键配置文件系统和用户,应该是用户的可以覆盖系统的,在preferences-按键绑定-系统/用户 即可打开配置。小试一下增加一个eclipse的功能,就是上下调整选中行,添加如下代码:
{ "keys": ["alt+up"], "command": "swap_line_up"},
	{ "keys": ["alt+down"], "command": "swap_line_down"},

2、Sublime Text 2 的快捷键还支持双重组合,譬如默认情况下,将选中的文字改成大写的热键是“Ctrl+K, Ctrl+U”,意思是当你先按下 Ctrl+K 之后迅速再按 Ctrl+U 进行触发(只按下Ctrl+K是没有作用的),这样可以避免很多热键冲突,也可以更灵活更多选择地进行热键自定义
3、常用快捷键:
Shift+鼠标右键 (Win) 或 Option+鼠标左键 (Mac) 或使用鼠标中键可以用鼠标进行竖向多行选择
ctrl+p:雷电般快速的文件切换:
Ctrl+P(Win),这次试试先输入一个 @ 号:随心所欲的跳转:快速罗列与定位函数/HTML的元素、跳转到指定行
更牛x的了来了,这些切换定位方法你还可以配合在一起使用!譬如我有一个名为”hello-iplaysoft.js”的文件,里面其中有一个function叫做”visit_iplaysoft_com”,我现在想要编辑这个函数,那么我只需按下 Ctrl+P,然后输入“heip@vi”回车(模糊匹配,注意前面有颜色的字符),ST2 马上就给我到打开这个文件并定位进去了!够方便了吧?!熟记这几个快捷键,你可以很一气呵成地进行文件切换和编辑
原文链接:http://songpo-ath-taobao-com.iteye.com/blog/1859214

作者:zihua | 分类: 编程工具 | 标签: python | 阅读: 850 | 发布于: 2013-09-28 23时 |