没想到在优快云的第一博献给了Sublime!

本文分享了作者从EditPlus转向SublimeText3的心得体会,详细介绍了如何配置SublimeText3以搭建简易Python开发环境的过程,包括设置UserSettings、PythonBuild、安装PackageControl及选择合适的插件。

一直以来我都是用EditPlus这个文本编辑器来写Python代码,虽然小巧但确实很耐操,该有的功能基本都有,也能设置用户工具把它搞成简单的IDE,很是方便。而且习惯了它关键字的颜色配置,所以很长时间都没有考虑换。让我觉得不爽的地方也有,一是没有分栏显示功能,ep的分栏只能把同一个文件分成上下两栏,用来适应代码过长的情况,却不能像Sublime,VSC那样分成几栏同时显示多个文件,可以很方便的拷贝粘贴代码,做些代码比对之类的;第二点不爽的是ep的界面实在太丑了…韩国那么盛产长腿欧巴大胸靓妹,做的这软件面相 咋!就!这!么!惨!

矮穷矬妥妥的…
矮穷矬EditPlus

当然我也多次尝试过把ep搞成Sublime,VSC那种灰灰酷酷的调子,不过均以失败告终…
让我决心转向使用Sublime Text却是因为工作的需要,EditPlus只有win版本,不支持linux,mac,接下来我的工作会有一部分在linux平台上,所以趁着周末赶紧下了个win版的Sublime Text3摸一摸熟悉下,这一摸不当紧, TMD!摸!上!瘾!了!


Sublime大法好!

好在哪呢?— 哪哪都好!
拼写检查,书签,完整的 Python API , Goto ,即时项目切换,多选择,多窗口,多栏显示,插件拓展,代码缩略图,Snippet,让人意乱情迷的快捷键,关键的关键是:界!面!真!TMD! 漂!亮!

高富帅既视感扑面而来有么有!
高富帅Sublime

好了请原谅我这种没见过世面的CG狗的一惊一乍的屌丝相,接下来咱言归正传,聊一聊这几天摸索Sublime的一点心得,还有遇到的一些问题以及找到的解决办法,也是作为自己的一个网络备份以防今后忘记吧。
ok,我是Sublime Text 3的win64版本,准备以它为主来搭建简易的python开发环境,网上找了些资料多是一些2版本的配置说明,包括发现软件自带的Sublime Text 3 Documentation有些地方也没有及时更新,应该还是保持在2版本的状态,导致我走了小小的一段弯路…能有幸看到我这篇博文又正好要摆弄Sublime的同志们真是幸运!你们可以直着不用弯了!

第一步:User Settings!
Menubar的Prefrences栏是专门用来进行各种基本配置以及安装的插件配置的,Sublime的多数配置文件都是简单粗暴的json代码格式,爽得嘞!依次点击这俩家伙:
Menubar>>Preferences>>Settings - Default
Menubar>>Preferences>>Settings - User
打开这两个配置文件
墙裂建议不要修改default,我们要改的是user,你可以复制default里的代码到user里,然后根据需要进行删减修改,Sublime启动会先读取default配置,再读取user配置,也就是说user的级别高于default。我的user配置是这个样:

{
    "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
    "auto_complete": false,
    "auto_indent": true,
    "default_encoding": "UTF-8",
    "dictionary": "Packages/Language - English/en_GB.dic",
    "drag_text": false,
    "fallback_encoding": "Western (Windows 1252)",
    "font_face": "Courier New",
    "font_size": 10.5,
    "ignored_packages":
    [
        "Vintage"
    ],
    "line_padding_bottom": 1,
    "line_padding_top": 1,
    "margin": 0,
    "match_selection": false,
    "tab_size": 4,
    "translate_tabs_to_spaces": true,
    "trim_automatic_white_space": true,
    "word_wrap": false
}

你可以复制以上代码到打开的user-settings文件,直接ctrl+s保存就好了。

  • font_face是字体的选择,因为我早已习惯了EditPlus里的标配字体Courier New,所以这里还是义无反顾的选了它,其他好看耐用的字体推荐 Consolas,比较适合Python编程
  • tab_size 当然是4,你懂的!
  • translate_tabs_to_spaces当然设成true,你更懂的!
  • 其他的自己看着设置吧,怎么舒服怎么来

第二步:Python Build!
和Editplus的工具组设置简易IDE一样,Sublime提供的Build System就是用来打造简易IDE的,选择Menubar>>Tools>>Build system>>Python… 设置为python build模式
按键盘Ctrl+B就会执行当前的python代码文件并将结果输出,说白了其实就等同于在terminal里(如win系统的cmd命令行工具)执行了一串系统命令:python解释器(python.exe)执行置前打开的.py文件

python -u "C:\Users\Endorphin\Desktop\test.py"

但如果你的python安装目录没有在系统环境变量Path中,那么build会失败。系统都找不到python这个命令,执行个毛啊,这个时候你有三个选择:

  1. 把python安装路径加到系统环境变量Path中,这个就不说了,应该都会吧….
  2. 修改默认的Python.sublime-build,墙裂建议不要这么做!
  3. 自己动手写一个xxx.sublime-build!

说说第2种方式,(再次墙裂建议不要这么做!)我这里可以提一下,主要是为第3种方式做准备哈哈哈…
Python.sublime-build这个文件在哪里呢,先打开ST3的安装目录下的Packages文件夹,找到Python.sublime-package这个白花花的没有后缀名的文件(其实它就是个zip包文件),用解压缩工具打开(注意不要解压出来),找到Python.sublime-build右键选择查看文件就可以将它打开了,你会看到是这个样子的json配置代码:

{
    "shell_cmd": "python -u \"$file\"",
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
    "selector": "source.python",

    "variants":
    [
        {
            "name": "Syntax Check",
            "shell_cmd": "python -m py_compile \"${file}\"",
        }
    ]
}

ok,copy 一下,关掉关掉!!!

开启第3种方式:xxx.sublime-build!

  • 选择Menubar>>Tools>>Build system>>New Build System…
    打开一个新的build模板文件,将copy的代码覆盖粘贴进去
  • 然后把第一行的python修改成你的python解释器路径,比如C:/Python27/python.exe
  • 接下来选择Menubar>>Preferences>>Browse Packages…在打开的路径中选择User,将build配置文件保存到这个User文件夹下,文件名设置为比如My_Python.sublime-build
  • 回到Menubar>>Tools>>Build system 查看,会发现这里多了一个My_Python的build项,设为此项再次Ctrl+B执行下代码试试,Bingo!

so easy是不是…..但是恰恰我被绊倒在这里,纠结了整整一下午,因为我人比较懒,能直接baidu&google出的东西不愿费精力自己去找,所以….

网上能找到的Python.sublime-build的范例代码大都是这个样子的

{   
    "cmd": ["C:/Python27/python.exe", "-u", "$file"],   
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "selector": "source.python", 
    "encoding": "utf-8" 
}

copy然后通过上述步骤搞了自己的python-build项…但是在使用中我发现所有的带GUI的代码文件没法被执行,像是PyQt,PySide,wxPython啥的。开始以为是PyQt 环境不正常,但是发现代码程序在Terminal端又能正常运行,界面正常显示,在 ST3 下 Ctrl + B 运行后,界面死活不显示,看任务管理器又有 python.exe 进程,而且执行print也能正常打印…一时彻底迷糊了,甚至怀疑我的ST3是不是安装正确了…

然后我就老实找到了默认的Python.sublime-build,发现重要的第一行参数和网上找的有些不同”cmd”—“shell_cmd”…嗯…shell….嗯…其中必有蹊跷!排查了好久,锁定ST3安装目录>>Packages>>Default.sublime-package>>exec.py文件是执行build命令调取的base文件,在看过exec.py的代码之后我终于搞明白了GUI界面不显示的原因了…豁然开朗…佛光普照…Fucking Shit…Fucking subprocess….

我能搞明白的是ST随着版本不断升级,文件结构做了调整,功能性需求让一些代码也做了改动,开发者为了照顾老用户的配置可以继续使用,不得已同时存在了”cmd”和”shell_cmd”,但我搞不明白exec.py文件里在”cmd”状态时那个诡异的参数shell=shell,直接写成shell=True能咋地啊……唉!有兴趣的自己去看下exe.py文件代码吧,有点长我就不贴这里了..

所以如果采用“cmd”记住一定要加上最后那句”shell”: “true”,不然一些GUI程序就没法被显示出来

{   
    "cmd": ["C:/Python27/python.exe", "-u", "$file"],   
    "file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)", 
    "selector": "source.python", 
    "encoding": "utf-8" 
    "shell": "true"
}

但是不建议使用这个”cmd”形式的了,新用户还是直接使用上方介绍的”shell_cmd”方式吧。

第三步:Package Control !
这个不多说了,网上介绍资料一大堆,执行代码存这吧

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) 

第四步:Choosing Plugins
通过Package Control 愉快的安装各种插件吧!

SublimeREPL :网上介绍一堆不说了,执行文件,断点测试什么的,偶尔临时充当python帮助也还不错…用得好的话这个插件作用很强大
这里写图片描述

ConvertToUTF8 解决中文乱码问题Ctrl+Shift+C

SideBarEnhancements 侧边栏增强,添加了一些很有用的右键属性

SyncedSidebarBg 侧边栏颜色同步,ST3刚装的侧边栏颜色丑的要命,幸亏有这个…

SublimeCodeIntel 代码自动补全,像我这种对python各种库各种模块信手拈来不费毫秒的模块小王子,这个插件暂时等同鸡肋,等我学其他语言的时候兴许会用到哈哈哈

第五步:睡大觉…做美梦…有了Sublime很快就能赢娶白富美,当上CEO,登上人生巅峰了啦


Sublime就像一博学又爱耍酷的帅哥,跟他不熟的时候觉得这哥们什么SB玩意,一旦跟他混熟了就会觉得:嗯~这哥们确实挺屌的!
最近看微软的Visural Studio Code挺养眼的,冷色调的配色很舒服,也是支持三平台,还是开源纯免费,等有空了也拿它好好地撸上一撸。

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值