sublime配置python环境变量_Sublime Python环境配置

文章主要说明了能让Python的编程者使用更方便的一些设置和调整。

Sublime Text简介

Sublime Text是一个很棒的编辑器,支持跨平台,有着强大的插件子系统。对于Python开发,有不少插件可以让你开发起来更流畅、更有乐趣。

我现在仍然在不同的项目之间切换编辑器。不过我发现对应Python开发,Sublime在轻量级的编辑器和全功能的IDE之间有着很好的平衡。

安装插件

正如之前提到的, Sublime 有一个非常丰富的插件系统。而我当前使用的插件如下:

Package Control 在 Sublime 里直接安装附加插件的包管理器。

ChineseLocalizations Sublime系统语言插件,改为中文菜单

ConvertToUTF8 处理中文乱码问题

SublimeCodeIntel 为部分语言增强自动完成功能,包括了 Python 。这个插件同时也可以让你跳转到符号定义的地方,通过按住 alt 并点击符号。非常方便。

SideBarEnhancements 这个插件提供了侧边栏附加的上下文菜单选项,例如"New file","New Floder"等。这些本应当默认就该有的,却没有。

SideBarHider

SublimeREPL 允许你在编辑界面直接运行 Python 解释器。我倾向于在单独的终端窗口用 bpython 来运行,但有时 SublimeREPL 是很有帮助的。

SublimeTmpl Sublime模板

ctags跨文件跳转,跳转到指定函数声明的地方(ctrl+alt+左键)。

window 下载 ctags.exe(prdownloads.sourceforge.net/ctags/ctags58.zip,ctags.exe文件放在一个环境变量能访问到的地方),然后在打开的工程目录上运行ctags -R -f .tags生成

ubuntu下安装运行命令:sudo apt-get install exuberant-ctags

在CTags.sublime-setting--User中添加路径:{"command": "C:\\Windows\\System32\\ctags.exe",}

BracketHighlighter该插件提供配对标签,或大括号或字符引号的配对高亮显示,算是对系统高亮的加强吧

Tomorrow Color Schemes Color schemes 决定了编辑器界面语法高亮的字体颜色。这是一个非常酷的暗黑系样式。

Theme - Soda SolarizedDark Themes 影响 Sublime 界面元素的颜色和风格。这个非常适合 Tomorrow Night 的配色方案。

All Autocomplete Sublime 默认的自动完成只关注当前文件的单词。这个插件扩展了其自动完成的单词列表到所有打开的文件。

TortoiseSVN生成后右键点击文件或文件夹(这个要钱,如果是windows的话用TorstoiseSVN,这个要先预装TorstoiseSVN)

OmniMarkupPreviewer 支持将标记语言(Markdown仅是其中一种)渲染为 HTML 并在浏览器上实时预览,同时支持导出 HTML 源码文件

使用Anaconda进行代码自动校验、修正(按PEP8)

配置文件

Sublime Text 的一个优点就是它的所有配置都是简单的基于 JSON 的配置文件。这使得你可以很容易的将配置转到另一个系统中。我也见过一些人使用 Dropbox 自动同步他们所有电脑上的配置。

Preferences.sublime-settings 配置了 Sublimede 的显示和行为.你可以在sublime 中通过 Preferences > Settings — User 打开并编辑此文件。我使用如下配置:

{

// Colors

"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",

"theme": "Soda SolarizedDark.sublime-theme",

// Cursor style - no blinking and slightly wider than default

"caret_style": "solid",

"wide_caret": true,

// Font

"font_face": "Ubuntu Mono",

"font_size": 16.0,

"font_options":

[

"subpixel_antialias",

"no_bold"

],

"line_padding_bottom": 0,

"line_padding_top": 0,

// 折叠,展开选项

"fold_buttons": true,

"fade_fold_buttons": false,

"highlight_line": true,

"auto_complete": true,

"show_minimap": true,

// Word wrapping - follow PEP 8 recommendations

"rulers": [ 72, 79 ],

"word_wrap": false,

"wrap_width": 80,

// Editor view look-and-feel

"draw_white_space": "all",

// 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,

// 不显示的包、文件夹、文件

"ignored_packages":

[

"Vintage", "Markdown"

],

"folder_exclude_patterns":

[

".git",

"__pycache__",

"env",

"env3",

".svn"

],

"file_exclude_patterns":

[

".DS_Store",

"*.pid",

"*.pyc",

".tags",

".tags_sorted_by_file",

"*.exe",

".svn-base"

],

}

Anaconda.sublime-settings配置如下:

{

// python运行地址

"python_interpreter": "C:/Python27/python.exe",

// AutoComplete设置

"suppress_word_completions":true,

"suppress_explicit_completions":true,

"complete_parameters":true,

// AutoFormatting

"auto_formatting": true,

"auto_formatting_timeout": 2,

"autoformat_ignore":

[

"E309",

"E501",

],

// 是否启用linter

"anaconda_linting": false,

"anaconda_linting_behaviour": "load-save",

// 页面报错

"anaconda_gutter_theme": "simple",

"anaconda_linter_mark_style": "outline",

"anaconda_gutter_marks": true,

"anaconda_linter_underlines": true,

"anaconda_linter_phantoms": true,

"use_pylint": false,

"pylint_ignore":

[

"C0111",

],

"pep8": true,

"pep8_ignore":

[

"E309",

"E501",

"C0111"

],

}

按键绑定

Sublime 的按键绑定也是全部可配置的基于JSON的 sublime-keymap 配置文件。我修改了一些默认配置以更好的配合我的 TextMate / IntelliJ 肌肉记忆。你可以完全不修改。如果你想,修改很简单,并可以跨平台使用。我使用如下的绑定:

[

// Rebind "go to file" to cmd+shift+O

{ "keys": ["super+shift+o"], "command": "show_overlay", "args": {

"overlay": "goto",

"show_files": true

}},

// Rebind swap line up/down to cmd+shift+up/down

{ "keys": ["super+shift+up"], "command": "swap_line_up" },

{ "keys": ["super+shift+down"], "command": "swap_line_down" },

// Delete a line with cmd+delete

{ "keys": ["super+backspace"], "command": "run_macro_file", "args": {

"file": "Packages/Default/Delete Line.sublime-macro"

}},

// Reindent selection with cmd+alt+L

{ "keys": ["super+alt+l"], "command": "reindent"}

]

命令行工具

同 TextMate 的 mate 类似,Sublime Text 包含了一个命令行工具,允许你通过 shell 打开编辑器。工具名为 sublis,默认不可用。要使之生效,在任一 shell 中运行下面:

ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/subl

更多灵感

我希望这篇安装指南能够帮到你。如果你有任何建议或意见,敬请 Twitter 我一行或给我发邮件。另外,感谢下面的作者及其关于配置 sublime 的作品。它们启发了我很多:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/427131.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux mysql主从配置

1准备两台服务器 一台是192.168.118.128 一台是192.168.118.129 2主服务器配置 192.168.118.128 修改my.cnf文件 server-id1 log-binmysql-bin #启动MySQL二进制日志系统, binlog-do-dbourneeddb #需要同步的数据库 binlog-ignore-dbmysql #不同步mysql系统数据库&…

java web.xml 监听器_【JAVA 核心技术】java web 中的监听器

为什么要有监听器?监听器是用来处理一系列事件的java类,可被配置在java web项目中。既然如此,为什么不用代码直接调用监听器?这可能是因为J2EE规范规定的项目工程标准,用web.xml指定监听器,然后服务器中间件如weblogic可以以遵照标…

分布式和集群区别以及分布式事务

集群就是同一个代码部署了很多服务器是集群,分布式就是把项目拆成若干个工程,每个工程负责一部分内容,需要多个工程配合完成业务流程 使用的MQ数据一致性解决的分布式事务问题 转载于:https://www.cnblogs.com/fengnan/p/9482980.html

python变量生命周期_python 变量定义及变量生命周期

第一部分最近在写Python的时候发现一个好玩的现象,就是在if else重定义的变量,没有声明全局,在外部也可以使用,这里涉及到一个python变量生命周期的问题。python能够改变变量作用域的代码段是def、class、lamda.if/elif/else、try…

svn新建仓库

1昨天需要在服务器上新建一个仓库,解决方法是把已有的仓库拷贝出来,库删除在放进去 2然后今天想看看有没有命令的方法 find / -name project 首先查看一下项目的位置 3创建仓库 svnadmin create /mnt/raid1/huge/project/test 4cd test Ls 5vi authz…

java gb13000 ucs2_采用GB 13000的UCS-2进行存储的文件怎么转换

不是sql中的数据吧你那个是单个文件吗?假设文件头采用标准UCS2格式的两个字节,每个字段的数据是通过\t分隔的,每行文字是一条记录,如果有不同,需要对程序进行调整。FILE *f _wfopen(L"d:\\文件名.txt",L"rb"…

MySql数据库索引原理

写在前面:索引对查询的速度有着至关重要的影响,理解索引也是进行数据库性能调优的起点。考虑如下情况,假设数据库中一个表有10^6条记录,DBMS的页面大小为4K,并存储100条记录。如果没有索引,查询将对整个表进…

python3 unicode字符串_【已解决】Python3中如何声明字符串是unicode类型以避免log日志打印出错...

Python3中代码:CreateTableSqlTemplate """CREATE TABLE IF NOT EXISTS %s (id int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT ‘自增,主键’,cityDealerPrice int(11) unsigned NOT NULL DEFAULT ‘0’ COMMENT ‘经销商参考价’,…

linux awstats搭建

1安装lnmp模式 2安装awstats 2# tar xf awstats-6.5.tar.gz 解压下载到/root下的压缩包 mkdir /var/lib/awstats chmod 755 /usr/local/awstats #cp -R awstats-6.5/ /usr/local/awstats cd /usr/local/awstats/ 进入到解压目录下 ls docs README.TXT tools wwwroot cd tool…

java实现坐标图进行拖拉拽放_js实现限定区域范围拖拉拽效果

本文实例为大家分享了js实现限定区域范围拖拉拽的具体代码,供大家参考,具体内容如下需要在范围内拖拉拽,之前看来许多资料觉得都不是特别满足要求,今天自己写了一个,通过监听鼠标按下、鼠标抬起、鼠标移动事件来控制代…

上拉加载更多后台数据_微信小程序端操作云数据库

一、分清几个概念1、云开发,简言之就是可以直接用微信小程序开发者工具完成一个从前台到后台的小程序项目。2、小程序端,使用云开发的时候,miniprogram中写的代码可以叫做小程序端(真实是我不知道可以不可以这么认为)。…

关于springMVC传参问题

今天写项目,碰到一个以前灭有注意到的问题,一般情况下使用springMVC Controller注解之后,被此注解标记的方法的参数名只需要跟页面表单的标签的name的值相同即可拿到页面的值,但是如果标签加了disabled"disabled" 属性…

mysql + keepalived高可用

1上次说过了mysql的主从配置 tar zxf keepalived-1.2.7.tar.gz cd keepalived-1.2.7 yum install gcc gcc-c yum install kernel-devel -y 2报错 configure: error: Popt libraries is required yum install popt-devel 3继续执行 ./configure --with-kernel-dir/usr/src/kerne…

java+向前进一_Java 线程基础

前言线程并发系列文章:熟练掌握线程原理与使用是程序员进阶的必经之路,网上很多关于Java线程的知识,比如多线程之间变量的可见性、操作的原子性,进而扩展出的Volatile、锁(CAS/Synchronized/Lock)、信号量等知识。有些文章只说笼统…

python如何给定取值范围_python怎么限定函数自变量取值范围

匿名用户1级2017-11-20 回答Python中函数参数的定义主要有四种方式:1. F(arg1,arg2,…)这是最常见的定义方式,一个函数可以定义任意个参数,每个参数间用逗号分割,用这种方式定义的函数在调用的的时候也必须在函数名后的小括号里提…

tp5无刷新分页

控制器 <?phpnamespace app\index\controller; use think\Db; class Index{ public function userlist() { $listDb::name(users)->paginate(10,false, [ type > Bootstrap, var_page > page, //使用jqery 无刷新分页 path>javascript:AjaxPage([PAGE]); ]); r…

安装kickstart失败

yum -y install dhcp*yum -y install tftp*yum -y install nfs修改tftp配置文件 default: off description: The tftp server serves files using the trivial file transfer \ protocol. The tftp protocol is often used to boot diskless \ workstations, download conf…

java内存溢出让tomcat停止_java - 使用JVM Open J9一段时间后,应用程序(tomcat)停止响应 - 堆栈内存溢出...

我正在使用Open J9&#xff0c;一段时间后我的应用程序停止响应。.在生产中发生了2个小时后&#xff0c;在本地设法使用JMeter进行模拟。 应用程序(tomcat)只是停止响应&#xff0c;我需要重新启动才能将其取回。 问题是日志(catalina和log4j)中没有任何内容可以帮助我进行调查…

电子报账系统源码_网上商城系统建设心得,轻松搞定选择困难

当前&#xff0c;我们正处于一个互联网飞速发展的时代&#xff0c;特别是互联网电商的出现&#xff0c;给我们的生活带来了翻天覆地的变化&#xff0c;不出家门便可购买各种商品&#xff0c;不用再到处奔走寻找&#xff0c;通过网络便可快速下单&#xff0c;然后坐等送货上门。…

前端现在到底需要什么样的人才

昨天和几个大佬们在一起聊聊前端的技术。 大致内容如下&#xff1a; 1.前端三剑客 Html css javascript 这是必不可少的&#xff0c;其中js是核心。 2.框架之所以火,并不是它本身有多牛逼&#xff0c;而是大家都在用&#xff0c;间接把它吹棒起来了。为什么&#xff1f; 框…