sublime插件扩展【修改hosts文件】

来源:互联网 发布:计算机培训内容c语言 编辑:程序博客网 时间:2024/06/15 15:57

需求描述

 想要写个工具可以方便修改hosts文件,没有找到现成的工具就打算扩展sublime去实现。

步骤:

       1.扩展sublime,实现插件方法探索

       2.定义插件快捷键

       3.修改hosts文件业务实现

实现:

       1.扩展sublime确实简单,在Tools -> New Plugin下点击即可生成demo式的插件。插件的名字修改命名为SaveHosts,按crtl+`调出执行面板后执行view.run_command('save_host')可查看插件的效果

       2.在Preferences->Key bindings-User下点击,打开为用户配置快捷键的配置文件,文件路径为/home/userName/.config/sublime-text-3/Packages/User/Default (Linux).sublime-keymap。文件内容为

[ {"keys": ["ctrl+shift+h"], "command": "save_host"}]

      3.业务实现

       取得当前文件路径,调用shell cp完成,有一点是需要用到sudo,不过由于目前只是自己使用,直接将密码写进命令

 import sublime, sublime_plugin, osclass SaveHostCommand(sublime_plugin.TextCommand):<span style="white-space:pre"></span>def run(self, edit):<span style="white-space:pre"></span>file_name = self.view.file_name();<span style="white-space:pre"></span>cmd =   'echo zhong | sudo -S cp ' + file_name + ' /etc/hosts ';<span style="white-space:pre"></span>#cmd =  'echo zhong | sudo -S cp ' + file_name + ' ~/hosts ';<span style="white-space:pre"></span>os.system(cmd);<span style="white-space:pre"></span>sublime.message_dialog(file_name);
参考:

插件开发 API  http://mux.alimama.com/posts/549#sublime.View

http://www.admin10000.com/document/2889.html

快捷键 http://www.cnblogs.com/cydonia/archive/2013/05/29/3105659.html

python 调用shell http://blog.csdn.net/my2010sam/article/details/18315785

sudo权限实现 http://www.cnblogs.com/huashiyiqike/p/3606165.html

0 0