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)
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM