使用Sublime Text 3做Python开发
引言
刚转到OS X平台时,寻找写Python,JavaScript,Markdown等文件的工具时,比较了许多工具, 最终选择了Sublime Text 2,主要原因是其跨平台, 想着以后再转到windows下开发时,不需要再重新适应其他工具。 Sublime Text 2学习曲线不像Vim那么陡峭,但想用得顺手,还是需要时间。在使用Sublime Text 2以后,还是有一段时间在怀念Notepad++的各种好,幻想notpad++明天会有OS X版本。 这段时间过后,越来越感觉到Sublime的强大,notepad++开始淡出了记忆。 Sublime Text 3的beta版本推出很长时间了,但其中文介绍文档非常少,多数介绍也只是停留在如何安装Package Control上,对开发相关插件介绍很少。正因为如此,许多人都在担心自己使用的plugins还不支持版本3,于是就一直不进行升级,我也是这种心态的其中一个。 这段时间有空,终于决定折腾一下。
开始之前,看到Package Contorl网站上的一张统计图,给自己吃了个定心丸

可以看到,绝大部的插件已完成3版本的兼容,而且还有少量专为3定制的新插件。所以,大家可以放心转到3版本上来试用了。后面介绍的python开发环境支持插件就是从Sublime 3独有,具体是哪个这里暂不解密。
当然,不排除有些奇葩插件还不支持3版本,但如果这样,我的建议就是把那个插件换掉吧,更新这么不及时,一定不是最合适的了。
安装Package Control
现在Sublime Text 3的安装方法和版本2一样,只是粘贴的代码内容稍有不同,在Package Contorl网站上有安装方法。使用快捷键ctrl+\`或通过菜单选项View > Show Console进入控制台Console,然后粘贴如下代码,回车运行。
import urllib.request,os,hashlib; h = '7183a2d3e96f11eeadd761d777e62404e330c659d4bb41d3bdf022e94cab3cd0'; 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://sublime.wbond.net/' + 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)
安装完成后我们就正式开始配置Sublime Text!
安装Plugins的万能方法
通过ctrl+shift+p进入Command Palette, 输入Package Contorl: Install Package或简写为ip, 回车执行,进入插件的搜索窗口,查找选择到需要的插件后,回车即可等待完成安装,招待状态在sublime最下面的状态栏内会有文字提示。
一般配置
- 主题
sublime text可以通过插件安装很多主题,肯定有一款适合你。这里还是推荐在Sublime Text 2上一直使用的Theme - Soda Dark主题, 颜色模板使用Color Scheme - Tomorrow Night,两者的搭配应该算的上经典,从notepad++转到Sublime Text 2时基本所有的介绍文档都是这么推荐的。 大家可以通过上面介绍的插件安装方法尝试一下。
- 配置文件内容
// Colors
"color_scheme": "Packages/Tomorrow Color Schemes/Tomorrow-Night.tmTheme",
"theme": "Soda Dark 3.sublime-theme",
// Font
"font_size": 12.0,
"font_options": ["subpixel_antialias", "no_bold"],
"line_padding_bottom": 1,
"line_padding_top": 1,
// Editor view
"draw_white_space": "all",
"fold_buttons": false,
"highlight_line": true,
"auto_complete": false,
"show_minimap": false,
"show_full_path": true,
// Editor behavior
"scroll_past_end": false,
"highlight_modified_tabs": true,
"find_selected_text": true,
// Whitespace - no tabs, trimming, end files with \n
"tab_size": 4,
"translate_tabs_to_spaces": true,
"trim_trailing_white_space_on_save": true,
"ensure_newline_at_eof_on_save": true,
// Sidebar
"file_exclude_patterns":
[
".DS_Store",
"*.pid",
"*.pyc"
],
"folder_exclude_patterns":
[
".git",
"__pycache__"
],
// Package Control
"ignored_packages":
[
"Vintage"
]
个人不喜欢自动切分换行功能,于是没有配置,所以后面把PEP8中的E501排除掉了
开发环境插件
版本库是软件开发中不可缺少的工具,该插件把Git常用命令加入了Command Palette,让开发人员进行代码管理方便不少。

这个小插件是在修改后的文件行号前增加一些标识图片,方便与版本库对比,修改内容一目了然。

创建、管理gist的插件,Gist是GitHub提供的又一强力工具,用Git将用户常用的代码片段在线管理起来。安装此插件后,打开其User-Setting, 增加个人的GitHub访问Token后,即可通过快捷键或Console使用。
Anaconda绝对是换到Sublime Text 3后最令我兴奋的插件,没有之一。在Sublime Text 2的时代,为配置一个好用的python开发环境, 我们需要分别安装All Autocomplete,SublimeREPL,Pylinter和PEP8等诸多插件。 Geek就是让一切变得更简单,该插件作者就为了简便,把这些功能集中起来了。 Anaconda把PyFlakes, pep8 和 McCabe以插件的方式集成起来。安装Anaconda后,通过配置即可完成一个良好的Python开发环境。
Anaconda is a python development suite that includes autocompletion, IDE features, linting with PyLint or PyFlakes + pep8, AutoPEP8 , Vagrant and more for Sublime Text 3.
安装时可以通过Package Control安装,也可以使用Git追踪最新版本。GitHub地址
安装成功后在插件配置内打开Anaconda的REAMME,可以参考进行个性配置。我这里做了如下的修改:
- 增加对象的点操作符时的自动提示
在Packages/User目录下创建Python.sublime-settings文件,增加如下内容
{
"auto_complete_triggers": [{"selector": "source.python - string - comment - constant.numeric", "characters": "."}]
}
- 增加括号操作符后的参数自动完成
在Anaconda Setting中修改complete_parameters参数的值为true。 这里还有一个参数为complete_all_parameters,设置其为true后,则带默认值的参数也会自动完成。
- 忽略
AutoFormat PEP8中E501的提示
"pep8_ignore":["E501"]
其他设置均使用默认值。

结束
只需要这几个插件的安装与配置,就能使sublime text 3成为一个高效的python开发工具,接下来,感受 Sublime Text 3的快如疾风,风驰电掣吧!
使用OS X时间长了都忘记广大Windows用户存在GBK编码问题了。今天打开以前在Windows上写的 一些代码才发现中文注释都乱码了。解决办法很简单,安装插件ConvertToUTF8即可,OS X或Linux还需要插件Codecs33。 另外,在Sublime Text 2上的插件GBK Encoding Support不支持3版本。
支持GBK等多种编码的文件的编辑与保存。
CJK library files missing in the embedded Python of Sublime Text 3。
使用Sublime Text 3做Python开发的更多相关文章
- Sublime text 3搭建Python开发环境及常用插件安装 转载
Sublime text 3搭建Python开发环境及常用插件安装 一.环境准备 1.官方网站地址 2.Windows 10 3.Sublime Text 3 + 官网购买license(Just a ...
- 配置Sublime Text 3的Python开发环境
最近的项目是用Python开发自动化测试脚本的,所以使用Python比较多.我用的编辑器是Sublime Text3. Sublime Text 3是一个轻量级的跨平台文字编辑器,一经面世便被认为是一 ...
- 配置sublime text 3 的Python开发环境
为了在sublime实现像Python自带idle一样的F5交互功能: 首先安装package control然后install Sublime REPL:然后配置 Preference-->P ...
- Sublime text 3搭建Python开发环境
前辈们说的已经很多了,但是自己依旧会出现各种问题,写篇日志记录这次的搭建经验. 1.安装python,我用的是python3.5,可以上官网下载 2.安装Sublime text 3,可以上官网下载 ...
- Ubuntu下使用Sublime Text 3配置Python开发环境
因为电脑配置有些低端,所以只能使用Sublime来当作Python的IDE. 1.下载Sublime Text 3并安装 首先去官网找到64位的.tar.bz2的压缩文件下载: 使用命令或归档管理器将 ...
- Sublime text 3搭建Python开发环境及常用插件安装
参考 https://www.cnblogs.com/honkly/p/6599642.html 一.环境准备 1.官方网站地址 2.Windows 10 3.Sublime Text 3 + 官网 ...
- Windows 平台做 Python 开发的最佳组合
在 Windows 上怎样做 Python 开发?是像大神那样使用纯文本编辑器,还是用更加完善的 IDE?到底是用自带的命令行工具,还是需要装新的 Terminal?本文将带你了解如何利用微软官方维护 ...
- Sublime Text 3 配置Java开发
Sublime Text 3 配置Java开发 内嵌模式 在Sublime内部输出面板显示执行过程 配置JavaC - INSET.sublime-build 打开Sublime的包目录(选择菜单:P ...
- sublime text 3 配置python IDE
Python越来越受“程序猿”们的青睐.快速的开发模式,简洁的代码格式,海量的扩展,这无疑都为python的火热奠定了基础. “磨刀不误砍柴工”,一款功能强劲的IDE能帮助开发者有效的管理.编辑,运行 ...
随机推荐
- at org.apache.hadoop.util.RunJar.main(RunJar.java:153)
关于手动编译hadoop入门例子WordCount并执行 之前做的例子都是用hadoop中已经编译好jar包来运行示例的但是这次想要手动编译个实例,练下手没想到还是遇到点了小困难 [root@cent ...
- Web API(五):Web API跨域问题
一.什么是跨域问题 跨域:指的是浏览器不能执行其他网站的脚本.是由浏览器的同源策略造成的,是浏览器施加的安全限制.(服务端可以正常接收浏览器发生的请求,也可以正常返回,但是由于浏览器的安全策略,浏览器 ...
- rails中render 和 redirect_to的区别, each只能用在数组中,如果只有一个或者零个项,用each方法会报错undefined method `each' for #...
在render中,即使有:action,那么也仅仅是取对应的view中的模板(html.erb)而已,所以这里即使浏览器中的url是/orders/xcreate,但是显示的界面是/app/views ...
- [ Laravel 5.1 文档 ] 服务 —— 任务调度
1.简介 在以前,开发者需要为每一个需要调度的任务编写一个Cron条目,这是很让人头疼的事.你的任务调度不在源码控制中,你必须使用SSH登录到服务器然后添加这些Cron条目.Laravel命令调度器允 ...
- ASP.NET C# 获取当前日期 时间 年 月 日 时 分 秒
我们可以通过使用DataTime这个类来获取当前的时间.通过调用类中的各种方法我们可以获取不同的时间:如:日期(2008-09-04).时间(12:12:12).日期+时间(2008-09-04 12 ...
- Storm ack和fail机制再论
转自:http://www.cnblogs.com/fxjwind/p/3806404.html 之前对这个的理解有些问题,今天用到有仔细梳理了一遍,记录一下 首先开启storm tracker机制的 ...
- C++ 数据封装
C++ 数据封装所有的 C++ 程序都有以下两个基本要素: 程序语句(代码):这是程序中执行动作的部分,它们被称为函数.程序数据:数据是程序的信息,会受到程序函数的影响.封装是面向对象编程中的把数据和 ...
- 解决ubuntu下mysql不能远程连接数据库的问题【转】
Ubuntu10.04上自带的MySQL,执行了root@ubuntu:~#sudo apt-get install mysql安装完mysql-server 启动mysqlroot@ubuntu:~ ...
- JavaScript 学习笔记(三)
本章学习内容: 1.数组的使用 2.类和对象细节. 3.this关键字的使用 4.构造函数,成员函数的使用 1.数组的使用 在任何的语言中,必须要有的就是数组了,有了数组,使得很多操作都变得非常的 ...
- DM816x算法具体解释--之OSD
简单介绍: 本文介绍DM8168 DVRRDK中传入DSP内部的视频格式以及大概的处理流程. 背景: 可能有非常多人为了加快研发的速度.减少难度,选择在DVRRDk已有的OSD内加入自己的DSP算法. ...