最近在使用Sublime Text作为一些js等脚本文件的编辑器,此编辑器相当的不错,现在插件也是相当的多,免注册版本可以无限制的使用。当然他也有不足,到目前为止官方还不 支持GBK系统的编码,虽然我们目前大部分项目都是UTF-8的,但是难免还是会用到GBK等中文编码。我安装了GBK Encoding Support这款插件可以解决打开GBK编码的文件中文乱码的问题,但是随之而来的确是tab显示的标题乱码了,不怎么好看,大家可以参看下图:
于是自己动手丰衣足食,我就修改了一下原作者的代码,修改代码文件的路径如下:C:\Users\你的用户名\AppData\Roaming\Sublime Text 2\Packages\GBK Encoding Support\sublime_gbk.py,达到我的目的,当然这样我就把原来文件的gbk给转换成了utf-8了。大家看代码吧,注释部分原作者的代码,newline注释下面的是我修改的代码: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | #coding: utf8 import sublime, sublime_pluginimport os, reimport urllibTEMP_PATH =os.path.join(os.getcwd(), 'tmp') SEPERATOR = ' ' def gbk2utf8(view): try: reg_all = sublime.Region(0, view.size()) gbk = view.substr(reg_all).encode('gbk') except: gbk = file(view.file_name()).read() text = gbk.decode('gbk') file_name = view.file_name().encode('utf-8') #tmp_file_name = urllib.quote_plus(os.path.basename(file_name)) + SEPERATOR + urllib.quote_plus(file_name) #tmp_file = os.path.join(TEMP_PATH, tmp_file_name) #f = file(tmp_file, 'w') #newline f = file(view.file_name(),'w') f.write(text.encode('utf8')) f.close() window = sublime.active_window() #newline v = window.find_open_file(file_name) #v = window.find_open_file(tmp_file) if(not v): #newline #window.open_file(tmp_file) window.open_file(file_name) window.focus_view(view) window.run_command('close') window.focus_view(v) sublime.status_message('gbk encoding detected, open with utf8.') |
修改过后运行效果如下: