Sublime Text 是一个代码编辑器(Sublime Text 2是收费软件,但可以无限期试用),也是HTML和散文先进的文本编辑器。Sublime Text是由程序员Jon Skinner于2008年1月份所开发出来,它最初被设计为一个具有丰富扩展功能的Vim。
1、安装Sublime text 插件很方便,可以直接下载安装包解压缩到Packages目录(菜单->preferences->packages)。
2、也可以安装package control组件,然后直接在线安装:
Ctrl+~ 呼出命令器,输入命令:
import urllib2,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler()) ); by = urllib2.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); open( os.path.join( ipp, pf), 'wb' ).write(by) if dh == h else None; print('Error validating download (got %s instead of %s), please try manual install' % (dh, h) if dh != h else 'Please restart Sublime Text to finish installation')
重启Sublime Text 2。
如果在Perferences->package settings中看到package control这一项,则安装成功。
顺便贴下Sublime Text3 的代码
import urllib.request,os,hashlib; h = '2915d1851351e5ee549c20394736b442' + '8bc59f460fa1548d1514676163dafc88'; pf = 'Package Control.sublime-package'; ipp = sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.build_opener( urllib.request.ProxyHandler()) ); by = urllib.request.urlopen( 'http://packagecontrol.io/' + pf.replace(' ', '%20')).read(); dh = hashlib.sha256(by).hexdigest(); print('Error validating download (got %s instead of %s), please try manual install' % (dh, h)) if dh != h else open(os.path.join( ipp, pf), 'wb' ).write(by)
四、C语言编译环境设置
1、下载安装MinGW与系统变量设置
{ "cmd": ["g++", "${file}", "-o","${file_path}/${file_base_name}"], "file_regex": "^(..[^:]*):([0-9]+):?([0-9]+)?:?(.*)$", "working_dir": "${file_path}", "encoding":"cp936", "selector": "source.c,source.c++", "variants": [ { "name": "Run", "cmd": ["cmd","/C","start","cmd","/c", "${file_path}/${file_base_name}.exe &pause"] } ]}
3、编译测试
程序中要用 int main() 不能用void main() 否则会报错。
Ctrl+B编译
Ctrl+Shift+B条用CMD窗口运行
4、所遇问题总结
①程序中输入中文乱码,运行程序CMD窗口输出乱码
解决:sublime默认不支持GBK格式,因此打开GBK的代码文件,如果里面有中文的话,就会乱码。安装插件ConvertToUTF8将格式转换为UTF8可解决此问题,默认快捷键为Ctrl+Shift+C,在File->Set File Encoding To->Chinese Simplified(GBK)。安装此插件后有时打开文件会自动添加后缀.dump,另存为去掉即可。输出中文乱码,有时要先在程序中随便重新写入中文,在转换为UTF8,一般可解决。
②按Ctrl+B编译与Ctrl+Shift+B后编译框没有任何现象
解决:打开文件 Data->Packages->Default->exec.py(记得备份)
修改第40和46行
36 if path:37 old_path = os.environ["PATH"]38 # The user decides in the build system whether he wants to append $PATH39 # or tuck it at the front: "$PATH;C:\\new\\path", "C:\\new\\path;$PATH"40 os.environ["PATH"] = os.path.expandvars(path).encode(sys.getfilesystemencoding()) 41 42 proc_env = os.environ.copy()43 proc_env.update(env)44 for k, v in proc_env.iteritems():45 # proc_env[k] = os.path.expandvars(v).encode(sys.getfilesystemencoding()) 46 proc_env[k] = os.path.expandvars(v.decode(sys.getfilesystemencoding())).encode(sys.getfilesystemencoding())47 48 self.proc = subprocess.Popen(arg_list, stdout=subprocess.PIPE,49 stderr=subprocess.PIPE, startupinfo=startupinfo, env=proc_env, shell=shell)
③文件不支持中文路径,若为中文路径,编译时仍无任何现象
解决:打开文件 sublime text根目录下 sublime_plugin.py(记得备份)
在程序开头(import)之后或程序结尾处(应该可以任意处,只要不打乱原程序逻辑)添加以下语句
reload(sys)
sys.setdefaultencoding('gbk')保存,重启sublime,即可编译在中文路径下的文件,但路径中仍不可含有空格等标点字符,否则编译会失败。
五、Python编译环境
sublime text默认支持编译Python,只是不支持中文输入,所以Ctrl+B编译时会出现[Decode error - output not utf-8]类似错误,只要不是语法错发,实际上都已经成功编译,可用其他Python编译器打开运行(如安装Python3.5自带的IDLE)。
为了方便运行调试,我们可以安装插件SublimeREPL,安装之后在Tools->SublimeREPL->Python->Python可以打开一个Python编译窗口,且可以运行当前编译或保存后的文件(注:若要这样做,得先把文件sublime_plugin.py还原,否则会报错...不知为啥,在公司电脑没有还原一切正常,在个人电脑上没还原却出现了错误,还原文件后就正常了...)
另外可以设置快捷键,打开文件Data->Packages->SublimeREPL->config->Python->Main.sublime-menu,第22行添加如下:
"children":[ { "command": "repl_open", "caption": "Python", "id": "repl_python", "mnemonic": "P", "args": { "type": "subprocess", "encoding": "utf8", "cmd": ["python", "-i", "-u","$file_basename"], "cwd": "$file_path", "syntax": "Packages/Python/Python.tmLanguage", "external_id": "python", "extend_env": { "PYTHONIOENCODING": "utf-8"} } },
然后Preferences->Key Binging-User,打开新建快捷键文件,输入以下:
[{ "keys":["f5"], "caption":"SublimeREPL:Python - RUN current file", "command":"run_existing_window_command","args": { "id":"repl_python", "file":"config/Python/Main.sublime-menu" }}]
保存即可(不要另存为并修改名称,貌似快捷键会不起作用),编译或保存.py后按F5即会打开Python编译窗口。
也可以快捷键使用Python IPyhon
[{ "keys":["f5"], "caption":"SublimeREPL:Python - RUN current file", "command":"run_existing_window_command","args": { "id":"repl_python", "file":"config/Python/Main.sublime-menu" }},#这部分{ "keys":["f6"], "caption":"SublimeREPL:Python - IPython", "command":"run_existing_window_command","args": { "id":"repl_python_ipython", "file":"config/Python/Main.sublime-menu" }}]
六、主题颜色
修改侧边栏白色为黑色,和主界面颜色看起来一直,酷。
打开文件Data->Packages->Theme - Default>Default.sublime-theme,在这里面可以修改界面颜色,文字大小。
//侧边栏与主文件区分割线的颜色 { "class": "sidebar_container", "layer0.tint": [10, 10, 10], //80,80,80 "layer0.opacity": 1.0, "layer0.draw_center": false, "layer0.inner_margin": [0, 0, 1, 0], "content_margin": [0, 0, 1, 0] }, //背景色 { "class": "sidebar_tree", "row_padding": [8, 3], "indent": 12, "indent_offset": 17, "indent_top_level": false, "layer0.tint": [30, 30, 30], //230,230,230 "layer0.opacity": 1.0, "dark_content": false }, //目录名以及文件名颜色 { "class": "sidebar_label", "color": [150, 150, 150], //0,0,0 "font.bold": false // , "shadow_color": [250, 250, 250], "shadow_offset": [0, 0] },
另外代码界面主题在Preferences->Color Scheme中选择,并可在相应文档修改。