寫一下我的SublimeText3 for Python 的配置之路吧


 Windows7 32bits 環境,Sublime Text3 安裝,參考這個帖子,http://www.xiumu.org/note/sublime-text-3.shtml 不解釋。我是使用VIM模式的,如果不用VIM模式,下面的AHK腳本可能不正常工作。

Python安裝2.7.8, 另外安裝了 ipython。控制台使用的是 ConEmu。ipython和ConEmu都在PATH中可以搜索到。

直接安裝SublimeCodeIntel - dev 版,實現代碼的自動補全,很爽。穩定版 Windows下有問題,不能用!

我需要實現的是,代碼在 SublimeText 中完成,快捷鍵送到 python下執行。試驗了 SublimeREPL,發現python在sublimetext中非常慢,而且sublimeREPL中的ipython環境顯示的顏色是按照代碼着色的,很不爽。因為有時候會出現代碼錯誤提示信息,且由於信息太長,顯示不全。這時候,可能只有一個引號出現,sublimetext着色的時候,就認為字符串開始了,而且沒有結束。反正各種不爽。

其實比較喜歡的方式是 Enhanced-R的方式,通過Autohotkey,把代碼發送到 R 環境中。既然沒有現成的,只好自己寫一個簡單的湊合用了。

1. 在SublimeText中實現打開ConEmu和ipython。在SublimeTex的插件目錄中,例如:d:\Program Files\Sublime Text\Data\Packages\,新建目錄 CMD,在CMD中,新建文件 cmd.py,輸入如下內容,

 1 import os, sublime_plugin
 2 class CmdCommand(sublime_plugin.TextCommand):
 3     def run(self, edit):
 4         file_name=self.view.file_name()
 5         path=file_name.split("\\")
 6         current_driver=path[0]
 7         path.pop()
 8         current_directory="\\".join(path)
 9         command= "cd "+current_directory+" & "+current_driver+" & start ConEmu /cmd ipython"
10         os.system(command)        

2. 在CMD目錄中,創建文件Context.sublime-menu,輸入如下內容,

[
     { "command": "cmd" }
]

這樣在SublimeText中可以通過右鍵打開ipython環境,並且是在當前文件的目錄下。

3. 安裝 Autohotkey,創建hotkey.ahk文件,如下,

SetTitleMatchMode, 3
SetTitleMatchMode, Fast
SetKeyDelay, 10, 10
IfWinActive ahk_class PX_WINDOW_CLASS
{
    #s::
        Send ^c
        IfWinExist ahk_class VirtualConsoleClass
        {
            WinActivate
            Send {Enter}
            Send {ASC 0037}paste {Enter}
        }
        return
    #b::
        Send ^c
        IfWinExist ahk_class VirtualConsoleClass
        {
            WinActivate
            Send {Enter}
            Send {ASC 0037}paste {Enter}
            WinActivate ahk_class PX_WINDOW_CLASS
        }
        return
}
  

把文件編程成可執行文件,(autohotkey自帶ahk2exe工具),添加到開機執行菜單中。

這樣,通過 Win+s 鍵就可以把選擇的行發送到 ipython里面執行了,(如果沒有選擇,就發送當前行)。Win+b是發送選擇的行,但光標停留在當前窗口。

 


免責聲明!

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



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