sublime配置

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)
 

原文地址:https://www.cnblogs.com/harrychinese/p/sublime_settings.html