当前位置 : 主页 > 编程语言 > python >

sublime配置

来源:互联网 收集:自由互联 发布时间:2022-06-15
sublime 确实招人喜欢, 大有全面超越vim的趋势, 大胆猜测原因有: 2.0.1版下载地址 ​​http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe​​ 1.默认配色就很酷; 也跨平台. 2.没有工具条

sublime 确实招人喜欢, 大有全面超越vim的趋势, 大胆猜测原因有:

2.0.1版下载地址 ​​http://c758482.r82.cf2.rackcdn.com/Sublime%20Text%202.0.1%20Setup.exe​​

1.默认配色就很酷; 也跨平台.

2.没有工具条, 留给编辑区的区域很大, 可以专注于代码.

3.不必过多使用鼠标,又不用像vim, 你必须记住太多的快捷键.

4.有一个非常棒的插件管理器, 这点比vim强多了.

5.做配置没有GUI, 配置文件都是json格式, 如果格式有问题的话, sublime会及时报错.  

===========================================

插件索引:

===========================================

插件管理器                Sublime Package Control

我用的color theme       obsidian color scheme

GBK 编码插件              GBK Encoding Support

智能错误提示插件          SublimeLinter

komodo移植版代码完成插件      SublimeCodeIntel(重量级)

Python标准库帮助提示插件      AndyPython

调试器                    SublimeREPL

快捷键管理                KeymapManager

括号匹配高亮插件          Bracket Highlighter

版本控制插件              sublime-tortoise

高亮文本的occurrence      WordHighlight

Sidebar增强               SideBarEnhancements

python智能代码插件  SublimeRope(暂不用)

***我整理了几个插件打包到 ​​https://anydbtest.svn.codeplex.com/svn/sublime/selected_sublime_packages.7z​​

===================================

My current Base File settings

===================================

{
//appearance setting
"color_scheme": "Packages/Obsidian Color Scheme/Obsidian.tmTheme",
"highlight_modified_tabs": true,
"font_face": "Consolas",
"font_size": 10.0,

//tab key setting
"translate_tabs_to_spaces": true,
"tab_size":4,
"detect_indentation": false,
"trim_trailing_white_space_on_save": true,
"shift_tab_unindent": true,

//use rope auto-completion instead
"suppress_default_completions":true
}


===========================================

设置environment level的python的编译配置文件(用处不大)

===========================================

在默认的python编译配置文件设定python.exe的路径, 该编译配置文件为 \Data\Packages\Python\Python.sublime-build

cmd指向我们的python后, PYTHONPATH自动会指向该python的Lib目录

{
"cmd": ["C:\\python27\\python.exe", "-u", "$file"],
"file_regex": "^[ ]*File \"(...*?)\", line ([0-9]*)",
"selector": "source.python" # set selector if it is default python.exe
}

通常我们有多个virtualenv环境, 可基于这个默认的编译配置文件, 复制多份, 比如有py27_flask.sublime-build, py27_django.sublime-build等, 然后修改它们的python.exe路径.


build system还有很多参数, 参考 http://sublime-text-unofficial-documentation.readthedocs.org/en/latest/reference/build_systems.html

===========================================

设置project level的python的编译配置文件(重要, 运行我们的程序)

===========================================

其实设置了env level 的python配置文件后, 在sublime中运行一个包含多个module的project, 很有可能调用不起来, 因为你的 project src目录并没有加到PYTHONPATH环境变量中. 手动将project src加到PYTHONPATH环境变量是一个办法, 如果开发十多个project, 都这么做, PYTHONPATH环境变量就乱套了.

一个好的做法是: 设置project level的build 配置.


具体是: 在project的配置文件(文件名为PROJECTNAME.sublime-project), 加入如下的代码

"build_systems":
[
{
"cmd": ["C:\\python27\\python.exe","${file}","arg1"],
"env": {"PYTHONPATH":"c:/workspacepython/your_project/src/"},
"name": "py_for_your_project"
}
]

创建了一个名为 py_for_your_project 的build system, 将项目src目录加到PYTHONPATH, 并设置了当前文档为python.exe要执行的脚本, 并传了一个arg1的参数.


测试脚本

#module: c:\\abc\\SayHello.py
import sys
if __name__ == '__main__':
name=sys.argv[1]
print("Hello "+name)
print(sys.path) #观察c:\abc是否已经在其中了


===========================================

sublime 自己的 site-packages目录

===========================================

sublime 的default package 目录, 比如D:\program\Sublime2181\Data\Packages\Default\, 该目录相当于python的site-packages目录, 目录下的python文件, 可以在console中import进来. 在console中, view.file_name() 代表当前文档.


===========================================

插件管理器 Sublime Package Control

===========================================

网址: http://wbond.net/sublime_packages/package_control/installation

插件的安装排行榜:  http://wbond.net/sublime_packages/community#sort-installs

另外, 该插件作者还开发了sublime-tortoise和 SVN 等几个流行的插件

功能: 发现/安装/删除/升级 sublime插件.

安装: 有两种模式, console 安装模式和手动安装模式

手动安装模式:

    下载包, 这个包文件是一个zip格式文件, 将该文件复制到Installed Packages目录下. 重启 sublime,

    用法: 安装后在preferences菜单中有 package settings 和 package control两个菜单项.  如果上网需要代理的话, 需要在package settings中设置.

          其他包都可以通过package control菜单项来安装.

console 安装模式: ctrl+`后, 在console的输入框中, 输入下面的代码

    无代理联网

 import urllib2,os; 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())); open(os.path.join(ipp,pf),'wb').write(urllib2.urlopen('http://sublime.wbond.net/'+pf.replace(' ','%20')).read()); print 'Please restart Sublime Text to finish installation'


===========================================

关于各种 Python 插件的配置

===========================================

有很多插件都有自己的一套配置, 一般包括2个配置方案, 一个是 Settings-Default, 另一个是Settings-User.

必须清楚的是, 我们不应该修改Settings-Default, 因为这类配置方案很可能在插件升级过程中被重写. 要对插件做个性化配置, 应该在其的Settings-User方案中设置, 比如 SublimeLinter    

Preferences->Package Settings->SublimeLinter->Settings-User


===========================================

GBK Encoding Support 插件

===========================================

这个插件太重要了, sublime 在windows本身不能很好打开cp 936(GBK)编码文件, 这类编码文件在国内应该是最常见的了


===========================================

智能错误提示插件 SublimeLinter 的配置

===========================================

https://github.com/kronuz/SublimeLinter/

共有几种检查模式:

"sublimelinter_popup_errors_on_save": true //show popup list of all errors when file is saved

"sublimelinter": true        //background 工作模式

"sublimelinter": "load-save" //在load或save文件时检查代码

"sublimelinter": "save-only" //在save文件时检查代码

"sublimelinter": false       //on-demand 工作模式

用法:

检查代码: 如果工作在on-demand模式下,  按 Control+Alt+L 检查代码.或者 Control+Shift+P 呼出命名列表, 选择 SublimeLinter: Lint Current File

列出错误: Control+Shift+P 呼出命名列表, 选择 SublimeLinter: Show Error List, 

显示下一个错误: ctrl+alt+E,  显示上一个错误: ctrl+alt+shift+E

Here are my settings:

{
"sublimelinter": false, //on-demand, Use Ctrl+Alt+L to check
"sublimelinter_popup_errors_on_save": true, //show popup list of all errors when file is saved
"pep8_ignore": ["E201","E202","E203","E221","E225","E231","E251","E303","E501","W291","W292","W293","W391"]
}

===========================================

智能代码提示插件 SublimeCodeIntel 的配置

===========================================

移植于 komodo 的代码提示插件, 支持 python, ruby, php, javascript 等脚本语言.

SublimeCodeIntel 网址:  ​​https://github.com/Kronuz/SublimeCodeIntel ​​

参考文章: Virtualenv 下 Sublime CodeIntel 配置, http://hellowiki.com/2012/03/22/sublime-codeintel-configuration-for-virtualenv/


配置方法: 找到配置文件~/.codeintel/config 或者 project_root/.codeintel/config(后者只针对某个项目进行配置,文件不存在时要手动创建), 编辑如下:

{
"Python": {
"python": 'C://Python//python_env//py27_cronplus//scripts//python.exe',
"pythonExtraPaths": ['C://Python//python_env//py27_cronplus//Lib//site-packages','other_folder_here'
]
},
"Python3": {
"python": '/usr/bin/python3',
"pythonExtraPaths": []
}
}

配置完config文件后, 记得重启一次sublime.

我的按键绑定设置为:

[
{ "keys": ["ctrl+j"], "command": "code_intel_auto_complete" },
{ "keys": ["ctrl+f3"], "command": "goto_python_definition" }
]

 按键说明:

1. ctrl+space, 自动完成;

2. ctrl+j, 在状态栏显示call tip, 不是自动完成.  默认状态栏字体太小, 看起来很吃力, 可按下面方法修改一下.

3. ctrl+F3, 跳转到定义处

加大状态栏字体size

如果是default theme, 需打开Default.sublime-theme文件, 找到"class": "label_control"配置项, 修改"font.size"为16.0,  如果是选择了其他theme, 需修改对应配置文件.

比如文件位置, D:\program\Sublime Text 2.0.1\Data\Packages\Theme - Default\Default.sublime-theme

 

{
"class": "label_control",
"color": [255, 255, 255],
"shadow_color": [24, 24, 24],
"shadow_offset": [0, -1],
"font.size": 16.0
},

===========================================

Python标准库帮助提示   AndyPython

===========================================

SublimeCodeIntel在status bar给出calltip提示, 如果你对要使用的函数不熟悉, 仅仅靠这点提示是远远不够的, 最好能显示完整的docstring信息. AndyPython就提供这个功能.

安装后, 需要手工加一个快捷键 { "keys": ["shift+f1"], "command": "py_help" }

将光标移到函数上, 按下shift+f1, 就能完整显示docstring.


===========================================

Navigation history 插件

===========================================

装了sublimecodeintel后, 按ctrl+F3后跳到函数的definition处了, 如何快速回到调用处? 有了这个插件就简单了.

 安装步骤:

先下载文件,

​​https://github.com/optilude/SublimeTextMisc/blob/master/navigationHistory.py​​

然后将文件放到 sublime 的Packages目录中

最后, 设置快捷键  

  { "keys": ["ctrl+alt+left"], "command": "navigation_history_back"},

  { "keys": ["ctrl+alt+right"], "command": "navigation_history_forward"}

===========================================

代码完成和重构插件 SublimeRope 的配置(暂不用)

===========================================

和 SublimeCodeIntel 不同, 这个插件只支持python语言.  SublimeRope 有一个配置project的向导, 用起来很方便. 经我测试SublimeRope 智能提示在很多情况下, 提示都不全, 所以推荐使用 SublimeCodeIntel 插件.

网址: https://github.com/JulianEberius/SublimeRope


Rope安装后, 即能够自动search当前你编辑的文件和PYTHONPATH中的symbol, 并提供auto-complete功能. 但不能search你的project下其他文件中的symbol. 我们可以将该项目转成Rope Project. 方法是: Ctrl+Shift+P, 然后输入"Rope: New Project", 会调出python project setup功能, rope提示我们设置项目路径和virtualenv路径.

比如: 项目路径为 C:/Proj/eclipse_workspace/cron_plus/src

      virtualenv路径为 C:/Python/python_env/py27_cronplus   注意:不是scripts目录


配置:

1. 如要禁掉 sublime 自带的auto completion功能, 在Settings-User中设置suppress_default_completions,

"suppress_default_completions":true

2. 编辑文件/.ropeproject/config.py, 将你的python路径加进去.

prefs.add('python_path', '/Users/ebi/dev/project/lib/python2.7/site-packages/')


使用方法: Ctrl+Shift+P, 然后输入"Rope: New Project", 会调出python project setup功能

Ctrl+Space, auto completion

SublimeRope默认没有定义快捷键, 可插件作者使用ctrl+r再加其它键, 因为ctrl+r是 常用命令Goto Symbol的 快捷键, 所以, 我采用ctrl+q+其它键.

ctrl+q+d,   goto_python_definition

ctrl+q+h,   python_get_documentation

ctrl+q+i,   python_auto_import

ctrl+q+c,   python_regenerate_cache

===========================================

SublimeREPL 插件--调试python程序

===========================================

需要安装SublimeREPL插件,  https://github.com/wuub/SublimeREPL

将我们项目的PYTHONPATH 加到 REPL user configuration 中, 文件名sublimeREPL.sublime-settings:

{

    "default_extend_env": {"PYTHONPATH":"/Users/pyppo/Documents/workspacepython/pyCmdLiner/"}

}

另外 Run python script with pdb is defined by default in this way:

/home/stav/.config/sublime-text-2/Packages/SublimeREPL/config/Python/Main.sublime-menu

{"command": "repl_open",
"caption": "Python - PDB current file",
"id": "repl_python_pdb",
"mnemonic": "d",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["python", "-i", "-u", "-m", "pdb", "$file_basename"],
"cwd": "$file_path",
"syntax": "Packages/Python/Python.tmLanguage",
"external_id": "python"
}
}

===========================================

Sidebar增强插件- SideBarEnhancements

===========================================

仅能使用于Project, 同时需要将要在sidebar显示的目录加到project中, 菜单Project/Add folder to project. 完成这个步骤后, sidebar的右击菜单就多了很多菜单项.

===========================================

快捷键管理 KeymapManager 插件

===========================================

可集中管理各个Sublime Text2插件的快捷键

http://www.welefen.com/manager-sublime-text-2-plugin-hot-key-with-keymapmanager.html

https://github.com/welefen/keymapmanager

使用方式: 通过ctrl + alt + k 或者通过顶部菜单 View -> Keymap Manager打开Pannel。

===========================================

快捷键

===========================================

CTRL+`, 打开 console,  该 console 的输入和输出是分开的, 输入区是一个单行输入框, 可以输入python 语句, 如果要一次执行多个语句, 语句之间必须用分号分隔, 分号后跟几个空格都无所谓, 不会出现indent不一致问题.

ctrl+/ 单行注释, ctrl+shift+/块注释,sublime会自动根据语言选择注释方式

ctrl+F,单文件查找

ctrl+shift+F, 文件夹查找

Ctrl+Shift+P, 打开命令列表

Ctrk+K+B, 显示/隐藏 项目和文件夹Side bar

CTRL+R, 在其后的输入框中可以展现一个文件的 outline

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

鼠标滚轮, 列选择模式, 该功能极其一般

----

Ctrl+F4, 关闭tab页

Ctrl+N, 新建tab页

Ctrl+O, 打开文件

Ctrl+P, tab页跳转功能. 输入字母, 自动按照tab页的文件名或文件路径来匹配.

Alt+Num, 切换到第几个tab页

Ctrl+Alt, 前后切换tab页

---

结构化代码的折叠: 将光标移到要折叠行的最左边(靠近行号处), 会出现一个向下的箭头, 点击就能折叠代码,

任意代码的折叠: 选择代码, 然后 Ctrl+Shift+[;  展开折叠, 用Ctrl+Shift+]

Ctrl+K+1, 折叠当前文件的所有的代码

Ctrl+K+J, 展开所有的折叠

---

安装SublimeCodeIntel后的快捷键:

ctrl+space, 自动完成;

ctrl+j, 在状态栏显示call tip, 不是自动完成.

ctrl+F3, 跳转到定义处

---

安装SublimeLinter后的快捷键:

Ctrl+Alt+L, 检查代码

================================================

参考文章

================================================

http://wiki.ddenis.com/index.php?title=The_best_text_editor_is_Sublime_Text_2_or_it_doesn%27t_exist

http://www.tuicool.com/articles/RBBJNz (http://outofmemoryblog.blogspot.fr/2012/08/python-development-with-sublime-text-2.html)






上一篇:python实现数据仓库ETL
下一篇:没有了
网友评论