配置 Sublime Text 3 作為Python R LaTeX Markdown IDE
配置 Sublime Text 3 作為Python IDE
IDE的基本功能:代碼提醒、補全;編譯文件。
Sublime Text3的插件
- Anaconda提供代碼提示、補全等功能。也提供編譯方式。
- SublimeREPL在新標簽頁生成一個(可交互的)控制台:
- Tools -> SublimeREPL ->Python ->Python
在新開的標簽頁“*REPL*[python]”中運行Python - Tools -> SublimeREPL ->Python ->Python - RUN current file
在新開的標簽頁“*REPL*[python]”中編譯文件。 - Tools -> SublimeREPL ->Python ->Python - PDB current file
在新開的標簽頁“*REPL*[python]”中交互。
- Tools -> SublimeREPL ->Python ->Python
可設定快捷鍵實現上述操作。此外,也有其他的編譯方式設定,此處只討論Windows系統,插件Anaconda、SublimeREPL編譯方式的設定。
如果已經有安裝好的Python,插件的配置基本沒有什么問題。以下記錄的信息基於如下2個假設。
假設1:已經安裝插件:Anaconda、SublimeREPL。
假設2:使用現有的Anaconda環境(不是ST3中的插件)中的Python做解釋器!
配置 Anacoda 插件編譯 Python
安裝 Anacoda 插件並配置后,要使用Anaconda(不是ST中的插件!)中的Python編譯文件,需要先激活虛擬環境。
激活 Anaconda 中的 Python 虛擬環境
如果沒有新建虛擬環境,Anaconda的安裝目錄即為默認的虛擬環境。比如我的Anaconda安裝在D:\ProgramFiles\Coding\Anaconda3
,在CMD中,不同的激活方式如下:
C:\Windows\System32\cmd.exe "/K" D:\ProgramFiles\Coding\Anaconda3\Scripts\activate.bat D:\ProgramFiles\Coding\Anaconda3
chcp 936 call D:\ProgramFiles\Coding\Anaconda3\Scripts\activate D:\ProgramFiles\Coding\Anaconda3
D:\ProgramFiles\Coding\Anaconda3\condabin\conda activate D:\ProgramFiles\Coding\Anaconda3
D:\ProgramFiles\Coding\Anaconda3\condabin\conda activate base
D:/ProgramFiles/Coding/Anaconda3/Scripts/activate.bat
激活方式的chcp 936
設定控制台的CMD以簡體中文gbk編碼。如果是UTF-8編碼,使用chcp 65001
。不設定代碼頁,控制台可能會亂碼!
conda的使用說明見https://conda.io/projects/conda/en/latest/user-guide/tasks/manage-environments.html#activating-an-environment
在ST3中,雖然無法直接使用上述激活方式,但提供了一種配置思路!
Anacoda 插件的配置
Anacoda 插件的配置參照上述的激活方式。下列操作中,Anaconda的安裝目錄為D:\ProgramFiles\Coding\Anaconda3
,E:\pytemp
是另一個目錄,都不在Windows的路徑中。
-
新建一個批處理文件,如
E:\pytemp\actENV.bat
,內容如下:@call D:\ProgramFiles\Coding\Anaconda3\Scripts\activate.bat D:\ProgramFiles\Coding\Anaconda3 @python %1 %2 %3 %4 %5
上面第二個命令也可使用
@python %1 %2 %3 %4 %5 %6 %7 %8 %9
。或簡化為@path D:\ProgramFiles\Coding\Anaconda3;D:\ProgramFiles\Coding\Anaconda3\Scripts;D:\ProgramFiles\Coding\Anaconda3\Library\bin;%PATH% @call activate.bat D:\ProgramFiles\Coding\Anaconda3 @python %1 %2 %3 %4 %5
-
配置 Anacoda 插件
Preferences -> Package settings -> Anaconda -> settings - user
,輸入(主要是第一條):{ "python_interpreter":"F:/pytemp/actENV.bat", "suppress_word_completions":true, "suppress_explicit_completions":true, "comlete_parameters":true, "swallow_startup_errors":true, "anaconda_linting":false }
如果只是將解釋器的路徑設為
D:/ProgramFiles/Coding/Anaconda3/python
而不激活虛擬環境,在導入一些庫,如numpy,pandas時,會報錯(錯誤2) -
選擇
Tools -> Build -> Anacoda Python Builder
。所有用ctrl+b編譯的,都要在該處選擇適當的語言編譯工具! -
測試。新建test.py:
import numpy as np import pandas as pd print(pd.Series([1,2,3,4]))
按ctrl+b,下方控制台顯示編譯的結果。
配置 SublimeREPL 插件編譯 Python
簡介
Tools菜單的SublimeREPL項中提供了多種語言的標簽頁控制台,標簽的名稱為“*REPL*[語言名]”。如:
- "Tools -> SublimeREPL ->Python ->Python",在新開的標簽頁“*REPL*[python]”運行Python。
- "Tools -> SublimeREPL ->Python ->Python - RUN current file",在新開的標簽頁“*REPL*[python]”運行當前文檔。
- "Tools -> SublimeREPL ->Python ->Python - PDB current file",在新開的標簽頁“*REPL*[python]”交互式運行當前文檔。
- "Tools -> SublimeREPL ->R",在新開的標簽頁“*REPL*[r]”運行R。比R自帶的命令行好用。
Preferences -> Browse Packages -> SublimeREPL -> config -> Python -> Main.sublime-menu
是編譯命令設定。
Preferences -> Browse Packages -> SublimeREPL -> Main.sublime-menu
中設定了工具欄和首選項中的SublimeREPL。
Tools -> SublimeREPL -> Eval in REPL(或Transfer to REPL)
有4項:Selection, Lines, File, Block,分別表示執行“選中的、當前代碼行、整個文件、代碼塊”。
設定快捷鍵
Preferences->Key Bindings
(注意大小寫,設定中區分大小寫!)。
[
{
"keys": ["f5"],
"caption": "SublimeREPL: Python - RUN current file",
"command": "run_existing_window_command",
"args": {
"id": "repl_python_run",
"file": "config/Python/Main.sublime-menu"}
},
{
"keys": ["ctrl+f5"],
"caption": "SublimeREPL: Python - PDB current file",
"command": "run_existing_window_command",
"args": {
"id": "repl_python_pdb",
"file": "config/Python/Main.sublime-menu"}
},
]
按下f5,在新標簽頁顯示程序運行的情況。按下ctrl+f5,新標簽頁變為交互窗口。
SublimeREPL 插件的配置
-
編輯“Preferences -> Browse Packages -> SublimeREPL -> config -> Python -> Main.sublime-menu”
-
找到所有的
"cmd"
段,將其后的python全部替換為F:/pytemp/actENV.bat
,保存。 -
測試。新建test.py:
import numpy as np import pandas as pd print(pd.Series([1,2,3,4]))
按
f5
或ctrl+f5
,新標簽頁顯示控制台和編譯的結果。 -
評估測試:發送代碼塊參考錯誤3的解決方案。沒有Rstudio的好用!調試還是選擇Spyder方便。
由於直接指定了編譯時的Python解釋器,本配置不需要額外的設定,如在“Preferences -> Package Settings -> SublimeREPL -> Settings - User”中指定Python路徑等。
可以配置jupyter-book.bat或jupyter-qtconsole實現交互。
常見問題及解決
錯誤1:FileNotFoundError(2, '系統找不到指定的文件。', None, 2)
(error: [winerror 2] the system cannot find the file specified python
)
解決:Preferences -> Package settings -> SublimeREPL -> Settings - User
,添加
{"default_extend_env": {"PATH":"D:/ProgramFiles/Coding/Anaconda3"},}
錯誤2:ImportError: DLL load failed: 找不到指定的模塊(the given module is not found)
解決:需要先激活虛擬環境!在CMD輸入python,提示"This Python interpreter is in a conda environment, but the environment has not been activated. Libraries may fail to load. To activate this environment please see https://conda.io/activation"。 見Anacoda 插件的配置
注:使用VScode,“啟動調試(F5)”時正常運行。“在不調試的情況下啟動(ctrl+F5)”會有錯誤2發生。如果先F5,在不重新啟動VSc的情況下,ctrl+F5不會報錯誤2。配置文件launch.json/default.launch.json
,default.launch.json
也是VSc打開目錄中所生成的配置文件模板,具體說明見https://code.visualstudio.com/docs/editor/debugging#_launch-configurations。
錯誤3:使用sublimeREPL的Eval in REPL/transfer to
時,提示"can't find REPL for 'python'"
解決:必須先有一個正在運行的REPL。先啟動控制台:Ctrl+Shift+P ->repl python
(可以alt+shift+2
先開一個小窗口),然后再使用"Eval in REPL/transfer to REPL"。"Eval in REPL"只能順序執行一次,只顯示結果。
后記
- 新建文件(不想保存的臨時文件),沒有命名,要以某種語法編輯文件。如用markdown語法:
Ctrl + Shift +P
->set syntax markdown(或ssm)
。 - Windows中建立目錄
.test
需要輸入.test.
(前后各有一個空格)。 - VirtualEnv 插件有激活虛擬環境的功能,但是沒有測試成功!
- Anaconda在注冊表中位置
HKEY_LOCAL_MACHINE\SOFTWARE\Python
- 顯示空格 tab換行等不可見字符。
Preferences -> Settings -User
增加:"draw_white_space": "selection",
- Sublime Text 的中文斷行、使用的簡便性不如VS code,就是這種絲滑的感覺特別好,這種感覺最早是在使用Firefox時,然而現在一直在用Chrome。
shift+鼠標右鍵
列選擇,要拖着鼠標下行,如果要選擇的部分太長就比較麻煩了。Synwrite中先在選擇的起點點擊,ctrl+shift
,左鍵點擊終點位置就可進入列編輯。
配置 Sublime Text 3 作為 R IDE
R已經安裝並加入系統路徑。
-
安裝ST3插件:
- R-IDE插件
- SendCode for sending R code to Terminal / R GUI / RStudio.
- Terminus for running R Console in Sublime Text.
- Whitespace for cleaning whitespaces.
-
安裝R包languageserver:在R中執行
install.packages(languageserver)
-
安裝python包radian:類似ipython的R控制台,支持多線編輯和語法高亮。
-
編譯/交互
Tools -> Build -> R/R Markdown/R Sweave
,ctrl+b編譯Tools -> SublimeREPL -> R
在彈出的控制台交互。- 先啟動一個R控制台:
Tools -> SublimeREPL -> R
或Ctrl+Shift+P ->repl R
。ctrl+,l
發送當前行。參考錯誤3的解決方案。
-
要考慮的問題:R Sweave生成的臨時文件的處理?
配置 Sublime Text 3 作為 LaTeX IDE
已經安裝了TeXLive 2018,並將LaTex.exe所在路徑加入系統路徑;Sumatrapdf為默認PDF閱讀器。
-
安裝插件
LaTeXTools
-
生成用戶配置文件:
Preferences -> Package Settings->LaTeXTools-> Reconfigure and migrate settings
-
修改設置:
Preferences -> Package Settings->LaTeXTools->Settings – User
,可修改的設置:- General, Preview, Temporary file, Platform, Output Directory settings, Build engine, Build panel and phantoms, Viewer, Opening files included into the tex source code, Bibliographic references, Cache options,
-
"Platform settings"段的
"windows":
選項中的"Sumatrapdf:"后填入:
"D:\\ProgramFiles\\ReadTools\\SumatraPDF\\SumatraPDF.exe",
-
PDF逆向搜索。SumatraPDF中:菜單->設置->選項,根據ST的路徑,填入
"D:\ProgramFiles\FileMan\Sublime Text\sublime_text.exe" "%f:%l"
. -
編譯設置。在"Build engine settings"段落。
-
"builder": "script",
-
"builder_settings" :
選項中的windows
處(我的系統是Windows 7 X64)"windows" : { "script_commands":[ "pdflatex -synctex=1 -interaction=nonstopmode", "bibtex", "pdflatex -synctex=1 -interaction=nonstopmode", "pdflatex -synctex=1 -interaction=nonstopmode" ], },
-
-
測試。新建test.tex
%!TEX program = xelatex \documentclass[UTF8]{ctexart} \begin{document} This is a Test file. \\ 配置 Sublime Text 3 作為 LaTeX IDE。 \end{document}
tools -> build -> LaTeX
,ctrl+b編譯,SumatraPDF打開生成的PDF。ctrl+l backspace
刪除臨時文件。"temp_files_exts"
增加臨時文件擴展名。%!TEX program = xelatex
表示選擇xelatex引擎編譯。
配置 Sublime Text 3 作為 Markdown 編輯器
快捷鍵 ctrl+r
列出文檔的各級標題(header)(大綱視圖)--配合Markdown Editing效果更好。
默認的效果已經很好了,主要是預覽!
預覽
安裝插件OmniMarkupPreviewer
,
Preferences -> Package Settings->OmniMarkupPreviewer->Settings – User
設置:
{
"server_host": "127.0.0.1",
"server_port": 56000,
"refresh_on_modified": false,
"renderer_options-MarkdownRenderer": {
"extensions": ["tables", "fenced_code", "codehilite"]
}
}
ctrl+shift+p
輸入"preview",選擇"preview current markup in browser"或者ctrl+alt+o
在瀏覽器中預覽。
Markdown Editing
Markdown Editing的眾多功能已經與ST3重復,但是也有許多調整,比如瀏覽標題的結構等
修改Markdown Editing主題Preferences -> Package Settings -> Markdown Editting -> Markdow GFM Settings - User
,添加如下內容:
{
"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
"draw_centered": false, //去除左側空白
"word_wrap": true,
"wrap_width": 120, //每行最大字數
"rulers": [],
"line_numbers": true, //顯示行號
"highlight_line": false,
"line_padding_top": 2,
"line_padding_bottom": 2,
}
問題:安裝Markdown Editing后:"Error loading syntax file "Packages/Markdown/Markdown.sublime-syntax": Unable to read Packages/Markdown/Markdown.sublime-syntax"
方案1:刪除掉./Data/Local/Session.sublime_session
及Auto Save Session.sublime_session
方案2(測試無效):下載 Markdown.sublime-syntax
ST > Preferences > Browse Packages
新建Markdown
文件夾
將下載好的Markdown.sublime-syntax 拷貝到Markdown文件夾中,然后重啟ST3
工具下載
Sublime Text 3
PDF xchange pro 2.5.322.8
https://www.lanzous.com/b697267
密碼:123
參考文章
SublimeText3 使用anaconda包配置python環境
Python虛擬環境-使用指南(含Sublime Text 3如何使用Virtualenv插件)
問題3:sublimeREPL
SublimeREPL說明