Sublime Text 3 插件和python环境


安装Python,设置环境变量

首先需要安装Python,访问地址https://www.python.org,下载Python,无脑点击下一步安装即可。

在CMD输入命令python,如果进入如图则表明Python安装成功:

如果没有进入Python IDE,添加环境变量:

这里以Windows 10为例,点击:我的电脑属性->高级系统设置->环境变量,点击下方新建:

这时在变量名这一栏输入Python,在变量值这一栏输入Python.exe的路径,如图:

点击确定。

接下来在系统变量中,找到Path,点击编辑:

编辑后,点击右上角新建,输入Python得到路径,最后点击确定即可:

这样就把Python变量添加到了系统中,在命令行输入python,就会进入Python IDE。

Sublime Text 3 安装激活

访问地址http://www.sublimetext.com下载Sublime Text 3,下载点击安装即可:

安装后,标题栏出现(UNREGISTERED),是未激活的意思,但是不激活也什么影响,只是偶尔弹窗让你激活,强迫症最好还是注册激活一下。

按照以下步骤激活:

点击Help->Enter License

在弹出的窗口输入下面的代码。

—– BEGIN LICENSE —–  
TwitterInc  
200 User License  
EA7E-890007  
1D77F72E 390CDD93 4DCBA022 FAF60790  
61AA12C0 A37081C5 D0316412 4584D136  
94D7F7D4 95BC8C1C 527DA828 560BB037  
D1EDDD8C AE7B379F 50C9D69D B35179EF  
2FE898C4 8E4277A8 555CE714 E1FB0E43  
D5D52613 C3D12E98 BC49967F 7652EED2  
9D2D2E61 67610860 6D338B72 5CF95C69  
E36B85CC 84991F19 7575D828 470A92AB  
—— END LICENSE ——

再点击Use License 即可成功激活

安装package control & SublimeREPL

package control 可以下载各种插件,非常实用,要使用Python,必安装它

首先安装Ctrl+`,将下面代码输入到框内,按回车

import urllib.request,os; pf = 'Package Control.sublime-package'; ipp = 
sublime.installed_packages_path(); urllib.request.install_opener( urllib.request.
build_opener( urllib.request.ProxyHandler()) ); open(os.path.join(ipp, pf), 
'wb').write(urllib.request.urlopen( 'http://sublime.wbond.NET/' + pf.
replace(' ','%20')).read())

等待几十秒左右,点击Preferences,出现package control则代表安装成功

接下来安装SublimeREPL,这个插件的作用是控制Python的输入,要绑定快捷键输入输出就要安装这个插件。

点击Preferences->package control,在弹出的框内选择Package Control:Install Package,这个是安装插件的意思,点击它。

等待十几秒后,会出来插件分类和列表,这里直接在输入框里面输入SublimeREPL,点击第一个,就会开始安装。

安装完成之后点击Tools,出现SublimeREPL,表示安装成功。

配置Sublime Text 3 Python编译系统

首先配置Python编译模块,让编辑器能能解析Python代码。

点击Tools->Build System->New Build System

复制下面代码,并命名为Python3.sublime-build

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



这时编译系统就搞好了,在桌面创建py文件,使用Sublime text 3打开,按Ctrl+b

这样就可以运行Python代码了,下一步进行优化。

绑定按键

首先点击Preferences下的Key Bindings,输入如下内容:

    [
    { "keys": ["f5"], "caption": "SublimeREPL:Python", 
                      "command": "run_existing_window_command", "args":
                      {
                           "id": "repl_python_run",
                           "file": "config/Python/Main.sublime-menu"
                      } 
    },

    {"keys":["f1"],
    "caption": "SublimeREPL: Python",
    "command": "run_existing_window_command", "args":
    {"id": "repl_python","file": "config/Python/Main.sublime-menu"}
    }
    ]

保存后重启下编辑器。

效果

这时候,按F1

导入、中文啥的都支持,跟Python自带IDE一样,唯一的区别就是这个看着很爽。

在文本编辑框随意输入,按F5

效果如图。

其他插件

Sublime text 3搭建Python开发环境

前辈们说的已经很多了,但是自己依旧会出现各种问题,写篇日志记录这次的搭建经验。

1.安装python,我用的是python3.5,可以上官网下载

2.安装Sublime text 3,可以上官网下载

3.安装插件:

Package Control:首先安装这个插件,比较麻烦一点,可以直接看 官网说明

  1.打开命令行界面,使用 ctrl+`快捷键 或者 菜单项View > Show Console 

  2.Sublime text 3复制下面的代码

复制代码
import urllib.request,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; 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)
复制代码

     3.Sublime text 2复制下面代码

复制代码
import urllib2,os,hashlib; h = 'df21e130d211cfc94d9b0905775a7c0f' + '1e3d39e33b79698005270310898eea76'; 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')
复制代码

 在preferences菜单下新增package control选项,安装成功

主题ColorSublime提供了许多主题,可以选自己喜欢的

SideBarEnhancements:扩展侧边栏功能,必备

ctrl+P在package control中搜索install,

接着搜索SideBarEnhancements,点击后安装

 Anaconda:代码提示等许多功能,必备

ctrl+P在package control中搜索install,

进入安装界面,安装好后再在新窗口命令行中输入Anaconda并点击第一个备选项进行安装。

在settings-default中修改

python_interpreter后为python默认安装位置,我的python安装目录在E:\Python\python.exe,注意要用反斜杠

settings-user中配置如下:

复制代码
{
"python_interpreter": "E:/Python/python.exe",
"suppress_word_completions": true,
"suppress_explicit_completions": true,
"complete_parameters": true,
}
复制代码

安装后如果不能自动补全模块名,可以查找Sublime Text的github的主页README.md看介绍

找到Sublime Text3的包目录,在软件里Preferences/Browser Packages里面。然后在Packages里新建一个文件夹python,里面新建一个Completion Rules.tmPreferences注意别忘了空格,然后编辑里面内容为:

复制代码
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>scope</key>
    <string>source.python</string>
    <key>settings</key>
    <dict>
        <key>cancelCompletion</key>
        <string>^(.*\b(and|or)$)|(\s*(pass|return|and|or|(class|def)\s*[a-zA-Z_0-9]+)$)</string>
    </dict>
</dict>
</plist>
复制代码

然后重启subime就好了!

 
 

SublimeLinter:代码检查工具,可以设置四种工作状态

仅保存模式,节省资源,保证ST3的流畅

在仅保存模式下,敲完代码,保存后会提示代码错误和警告的地方

可以设置提示的方式,以及,show Errors on save

安装过程:

1.安装sublimeLinter

方法同上

2.安装pep8或者pyflakes

在cmd命令行中 用pip命令安装,

如:pip install pep8

3.安装sublimelinter-pep8或者sublimelinter-pyflakes,对应上面安装的pep8或者pyflakes

测试后:

安装成功!

Python pep8 autofromat:代码格式化

让代码更简洁!

快捷键Ctrl + Shift + R,好东西一个,又节省了程序员的工作。

Emmet:可以通过简单的缩写来创建 HTML 或者 CSS 的代码块。

我自己的配置






设置python3编译环境(我的经历)

将C:\Users\49974\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\config\Python的文件夹文件复制到

C:\Users\49974\AppData\Roaming\Sublime Text 3\Packages\SublimeREPL\config\Python36(新建)

修改内容:python=>Python3(全部修改) //"syntax"处不修改



修改按键:C:\Users\49974\AppData\Roaming\Sublime Text 3\Packages\Default




文件路径

C:\Users\49974\AppData\Roaming\Sublime Text 3\Packages

F1:以谷歌浏览器打开

F2:以火狐浏览器打开    

F3:以ie浏览器打开


F5:以python25编译

F6:以python36编译

F7:与CTRL+B一样


ConvertToUTF8 - Packages - Package Control

配置了一下午的环境+编码问题

最后经过老哥的知道发现 是编译系统自动选了python2

但奇怪的是之前没选python3也是可以正常运行,可能是一个小bug吧


中文编码问题

  在学习python以及在使用python进行项目开发的过程中,经常会使用print语句打印一些调试信息,这些调试信息中往往会包含中文,如果你使用python版本是python2.7,或许你也会遇到和我一样的问题:那就是print打印中文异常以及显示乱码问题。本文主要分析一下在linux下使用python2.7的print语句中文异常以及终端显示中文乱码问题的原因及解决办法。转载请注明出处,谢谢!

  1.print打印显示的过程

             

                                     图1. Print打印显示过程

  Python2.7中调用print打印var 变量时,操作系统会对var做一定的字符处理:如果var是str类型的变量,则直接将var变量交付给终端进行显示;如果var变量是unicode类型,则操作系统首先将var编码成str类型的对象(编码格式取决于stdout的编码格式),然后再交由终端进行显示。在终端显示时,如果str类型的变量的编码方式和终端设置的编码方式不一致,很可能会出现乱码问题。

  2.print中文字符出现错误问题

        在python源码中print中文字符,时常会出现Non-ASCII character和UnicodeEncodeError两类错误。下面分别一一介绍。

    2.1  Non-ASCII character错误

      print.py源码示例(代码1):

      import sys

      print sys.getdefaultencoding()

      a="测试"

      b=u"测试"

      print a

      print b

    这段代码试图在linux的终端打印变量a和b的值,但是在实际执行的过程中,会提示Non-ASCII character错误:

    

           原因:该print.py的文件格式是utf-8(可以vi print.py,然后在命令模式下,输入:set fileencoding,查看文件的编码方式,)。“测试”对应的utf-8编码为:'\xe6\xb5\x8b\xe8\xaf\x95',由于print.py中含有中文,且print.py没有指定编码方式,python会按照系统的默认编码解析执行print.py(这里的系统默认编码是ascii,查看系统的默认编码,可以调用sys.getdefaultencoing()函数),因此会提示Non-ASCII character的错误。

           解决办法:在print.py起始处,指定编码方式为utf-8,这样python在执行代码时,就知道要按照utf-8来解释执行代码了。代码2:

    #coding=utf-8

    import sys

    print sys.getdefaultencoding()

    a="测试"

    b=u"测试"

    print a

    print b

           运行结果如下:

           

    2.2 UnicodeEncodeError问题

                 代码2在192.168.86.61上能正常运行,但是换到另一台机器192.168.86.157就不能正常运行了,现象如下:

             从打印信息来看,print a可以正常输出,而print b就会出现UnicodeEncodeError错误,这是为什么呢??

                 根据第1节中的介绍,变量b是unicode类型的,操作系统会按照stdout的默认编码将b编码成str类型的变量,根据报错信息猜测系统stdout的默认编码是ascii,而ascii字符的范围是0-127,因此会报上述错误。而变量a是str类型,调用print时,不需要经过操作系统进行编码,所以能正常输出。

                 那么,如何验证157上的系统stdout的编码方式是不是ascii呢?可以通过sys.stdout.encoding查看stdout的编码方式,这里的输出结果是ANSI_X3.4-1968,其别名就是ASCII,哈哈,原来真的是这样。

                 那么,为什么在192.168.86.61上,print b就能正常被打印输出呢?想要知道原因,让我们查看一下192.168.86.61上的stdout的编码方式,通过sys.stdout.encoding查得stdout的编码方式为utf-8,unicode类型的变量b的print时,首先被编码成utf-8,然后在送至终端显示,一切正常!

      至此,你可能明白了该问题产生的原因,那么,这个问题该怎么解决呢?一般建议在调用print打印变量时,首先调用encode()函数将unicode类型的变量进行编码,转换成str类型的变量,代码3如下:

      #coding=utf-8

      import sys

      print sys.getdefaultencoding()

      a="测试"

      b=u"测试"

      print a

      print b.encode('utf-8')

               之后,程序可以正常运行,如下:

             

                  

  3.linux终端显示中文乱码

   第1节中曾提到过:如果str类型的变量的编码方式和终端设置的编码方式不一致,在终端显示时就会出现中文乱码问题。笔者使用的终端的编码方式为utf-8,如下图:

                 

       如果将终端的编码方式改为GB2312,则中文就会出现乱码。因为b.encode('utf-8')的编码为utf-8,而终端的为GB2312,因此导致了乱码。

                

       解决方法就是要保持终端编码和待显示的变量的编码方式的一致。

http://www.runoob.com/try/runcode.php?filename=helloworld_cn&type=python

http://www.runoob.com/try/runcode.php?filename=helloworld_cn&type=python

Sublime Text 3 快捷键精华版



Ctrl+Shift+P:打开命令面板
Ctrl+P:搜索项目中的文件
Ctrl+G:跳转到第几行
Ctrl+W:关闭当前打开文件
Ctrl+Shift+W:关闭所有打开文件
Ctrl+Shift+V:粘贴并格式化
Ctrl+D:选择单词,重复可增加选择下一个相同的单词
Ctrl+L:选择行,重复可依次增加选择下一行
Ctrl+Shift+L:选择多行
Ctrl+Shift+Enter:在当前行前插入新行
Ctrl+X:删除当前行
Ctrl+M:跳转到对应括号
Ctrl+U:软撤销,撤销光标位置
Ctrl+J:选择标签内容
Ctrl+F:查找内容
Ctrl+Shift+F:查找并替换
Ctrl+H:替换
Ctrl+R:前往 method
Ctrl+N:新建窗口
Ctrl+K+B:开关侧栏
Ctrl+Shift+M:选中当前括号内容,重复可选着括号本身
Ctrl+F2:设置/删除标记
Ctrl+/:注释当前行
Ctrl+Shift+/:当前位置插入注释
Ctrl+Alt+/:块注释,并Focus到首行,写注释说明用的
Ctrl+Shift+A:选择当前标签前后,修改标签用的
F11:全屏
Shift+F11:全屏免打扰模式,只编辑当前文件
Alt+F3:选择所有相同的词
Alt+.:闭合标签
Alt+Shift+数字:分屏显示
Alt+数字:切换打开第N个文件
Shift+右键拖动:光标多不,用来更改或插入列内容
鼠标的前进后退键可切换Tab文件
按Ctrl,依次点击或选取,可需要编辑的多个位置
按Ctrl+Shift+上下键,可替换行


选择类


Ctrl+D 选中光标所占的文本,继续操作则会选中下一个相同的文本。


Alt+F3 选中文本按下快捷键,即可一次性选择全部的相同文本进行同时编辑。举个栗子:快速选中并更改所有相同的变量名、函数名等。


Ctrl+L 选中整行,继续操作则继续选择下一行,效果和 Shift+↓ 效果一样。


Ctrl+Shift+L 先选中多行,再按下快捷键,会在每行行尾插入光标,即可同时编辑这些行。


Ctrl+Shift+M 选择括号内的内容(继续选择父括号)。举个栗子:快速选中删除函数中的代码,重写函数体代码或重写括号内里的内容。


Ctrl+M 光标移动至括号内结束或开始的位置。


Ctrl+Enter 在下一行插入新行。举个栗子:即使光标不在行尾,也能快速向下插入一行。


Ctrl+Shift+Enter 在上一行插入新行。举个栗子:即使光标不在行首,也能快速向上插入一行。


Ctrl+Shift+[ 选中代码,按下快捷键,折叠代码。


Ctrl+Shift+] 选中代码,按下快捷键,展开代码。


Ctrl+K+0 展开所有折叠代码。


Ctrl+← 向左单位性地移动光标,快速移动光标。


Ctrl+→ 向右单位性地移动光标,快速移动光标。


shift+↑ 向上选中多行。


shift+↓ 向下选中多行。


Shift+← 向左选中文本。


Shift+→ 向右选中文本。


Ctrl+Shift+← 向左单位性地选中文本。


Ctrl+Shift+→ 向右单位性地选中文本。


Ctrl+Shift+↑ 将光标所在行和上一行代码互换(将光标所在行插入到上一行之前)。


Ctrl+Shift+↓ 将光标所在行和下一行代码互换(将光标所在行插入到下一行之后)。


Ctrl+Alt+↑ 向上添加多行光标,可同时编辑多行。


Ctrl+Alt+↓ 向下添加多行光标,可同时编辑多行。


编辑类


Ctrl+J 合并选中的多行代码为一行。举个栗子:将多行格式的CSS属性合并为一行。


Ctrl+Shift+D 复制光标所在整行,插入到下一行。


Tab 向右缩进。


Shift+Tab 向左缩进。


Ctrl+K+K 从光标处开始删除代码至行尾。


Ctrl+Shift+K 删除整行。


Ctrl+/ 注释单行。


Ctrl+Shift+/ 注释多行。


Ctrl+K+U 转换大写。


Ctrl+K+L 转换小写。


Ctrl+Z 撤销。


Ctrl+Y 恢复撤销。


Ctrl+U 软撤销,感觉和 Gtrl+Z 一样。


Ctrl+F2 设置书签


Ctrl+T 左右字母互换。


F6 单词检测拼写


搜索类


Ctrl+F 打开底部搜索框,查找关键字。


Ctrl+shift+F 在文件夹内查找,与普通编辑器不同的地方是sublime允许添加多个文件夹进行查找,略高端,未研究。


Ctrl+P 打开搜索框。举个栗子:1、输入当前项目中的文件名,快速搜索文件,2、输入@和关键字,查找文件中函数名,3、输入:和数字,跳转到文件中该行代码,4、输入#和关键字,查找变量名。


Ctrl+G 打开搜索框,自动带:,输入数字跳转到该行代码。举个栗子:在页面代码比较长的文件中快速定位。


Ctrl+R 打开搜索框,自动带@,输入关键字,查找文件中的函数名。举个栗子:在函数较多的页面快速查找某个函数。


Ctrl+: 打开搜索框,自动带#,输入关键字,查找文件中的变量名、属性名等。


Ctrl+Shift+P 打开命令框。场景栗子:打开命名框,输入关键字,调用sublime text或插件的功能,例如使用package安装插件。


Esc 退出光标多行选择,退出搜索框,命令框等。


显示类


Ctrl+Tab 按文件浏览过的顺序,切换当前窗口的标签页。


Ctrl+PageDown 向左切换当前窗口的标签页。


Ctrl+PageUp 向右切换当前窗口的标签页。


Alt+Shift+1 窗口分屏,恢复默认1屏(非小键盘的数字)


Alt+Shift+2 左右分屏-2列


Alt+Shift+3 左右分屏-3列


Alt+Shift+4 左右分屏-4列


Alt+Shift+5 等分4屏


Alt+Shift+8 垂直分屏-2屏


Alt+Shift+9 垂直分屏-3屏


Ctrl+K+B 开启/关闭侧边栏。


F11 全屏模式


Shift+F11 免打扰模式


编码格式:https://blog.csdn.net/m0_37438418/article/details/79637989

转自:

https://zhuanlan.zhihu.com/p/32121461

更多好文章:

https://www.oschina.net/translate/20-powerful-sublimetext-plugins

Sublime Text3编译环境和交互的解决方案:

https://blog.csdn.net/qq_31494787/article/details/79942676

https://www.jianshu.com/p/561ab6d620b4

猜你喜欢

转载自blog.csdn.net/m0_37438418/article/details/80465145