文章主要说明了能让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 的作品。它们启发了我很多:

sublime配置python环境变量_Sublime Python环境配置相关推荐

  1. python之环境变量(测试环境可配置)(亲测)

    想要实现的结果是: 执行脚本时,带一个参数,由这个参数来决定测试环境(开发or测试),比如: python test.py dev 实现代码: 方式1 不用__getitem__方式: 1 impor ...

  2. python设置环境变量_Python设置环境变量

    python设置环境变量 We can set an environment variable in Python using os module. Python os module environ ...

  3. linux phantomjs 环境变量,ChromeDriver和PhantomJS配置到$PATH

    1.ChromeDriver配置 2.PhantomJ配置 $1. 在Linux和Mac下,可以将ChromeDriver配置到$PATH.首先,可以将可执行文件放到某一目录,目录可以任意选择. 例如 ...

  4. linux php和java环境变量配置_Linux下Java环境变量的安装与配置

    安装 以JDK1.6.0_43为例 增加可执行权限 chmod +x jdk-6u43-linux-x64.bin, 执行 ./jdk-6u43-linux-x64.bin 生成目录jdk1.6.0_ ...

  5. centos配置c语言环境变量,CentOS7设置环境变量

    一.环境变量的概念 1.环境变量的含义 程序(操作系统命令和应用程序)的执行都需要运行环境,这个环境是由多个环境变量组成的. 2.环境变量的分类 1)按生效的范围分类. 系统环境变量:公共的,对全部的 ...

  6. Linux版本配置环境变量,如何linux环境下配置环境变量过程图解

    jdk下载地址: 在linux环境下的root同级目录下配置software目录 将下载好的jdk上传到software文件夹里面 (我使用的操作软件是) 到software这个目录下. 输入命令:c ...

  7. maven3.6.3 配置环境变量_JDK1.8简单配置环境变量---两步曲

    原文:JDK1.8简单配置环境变量---两步曲 - 云+社区 - 腾讯云 作者: 沁溪源 鄙人最近重新装完系统之后,在安装和配置jdk1.8的时候,发现网上许多教程配置jdk环境变量时都还在沿用传统的 ...

  8. 电脑配置jdk环境变量_苹果电脑配置环境变量

    1.右击我的电脑图标(windows10中为"此电脑"),选择"属性",打开"系统"对话框,点击"高级系统设置"标签.2 ...

  9. 没有配置java环境变量,为什么我java环境变量都还没有配置都可以运行java程序了...

    为什么我java环境变量都还没有配置都可以运行java程序了 来源:互联网  宽屏版  评论 2012-06-09 01:34:26 分类: 电脑/网络 >> 程序设计 >> ...

最新文章

  1. CPU工作过程——MCU
  2. gen_cam_par_area_scan_polynomial算子说明
  3. HTTP相关知识 - 1
  4. netty框架_Netty实战:设计一个IM框架
  5. python协程编程实例_Python异步编程之协程任务的调度操作实例分析
  6. java中开根号是什么函数_这真的是素数的公式!但没有什么卵用!
  7. 安装软件包的三种方法rpm包rpm工具yum工具
  8. AdaBoost算法详解与python实现
  9. 手把手教你如下在Linux下如何写一个C语言代码,编译并运行
  10. 什么是Windows RT
  11. python multiprocessing 和tcp
  12. 实验吧Web-易-天网管理系统(php弱类型,==号)
  13. LINK : fatal error LNK1104: 无法打开文件“LIBCD.lib”
  14. 使用MultipartFile实现文件上传_SpringMVC
  15. [论文阅读] Looking for the Detail and Context Devils: High-Resolution Salient Object Detection
  16. OpenJudge超详细题解,动画图文题解
  17. 移动端html字体大小自适应,【css】移动端响应式布局与响应式字体大小
  18. Android推送服务——百度云推送
  19. 渗透测试之信息收集 -tryhackme-Content Discovery
  20. 有利可图网_公布有利可图的辅助项目手册

热门文章

  1. JavaScript 所有数据类型
  2. 09-Flutter移动电商实战-移动商城数据请求实战
  3. Failed to resolve: android.arch.lifecycle:runtime:1.0.0,Failed to resolve: support-v4
  4. ListView隐藏右侧滚动条,listview去掉分割线,自定义分割线,ListView添加HeaderView和FooterView
  5. linux服务器做301跳转,nginx 实现当找不到文件时实现301跳转
  6. 经典算法题:字典树、并查集、单调栈、二分、带标记函数dp、树、全排列、字符串问题等常用算法
  7. Validator 使用总结
  8. dentity在Java里是什么意思_注释@Id和@GeneratedValue(strategy = GenerationType.IDENTITY)的用途是什么?为什么世代类型是身份?...
  9. 什么是计算机网络教学反思,《计算机网络实训之常用的网络工具》教学反思
  10. ssm整合,使用maven分模块