Sublime Text3配置爲Python R LaTeX Markdown IDE

配置 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]”中交互。

可設定快捷鍵實現上述操作。此外,也有其他的編譯方式設定,此處只討論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\Anaconda3E:\pytemp是另一個目錄,都不在Windows的路徑中。

  1. 新建一個批處理文件,如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  
    
  2. 配置 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)

  3. 選擇Tools -> Build -> Anacoda Python Builder。所有用ctrl+b編譯的,都要在該處選擇適當的語言編譯工具!

  4. 測試。新建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 插件的配置

  1. 編輯“Preferences -> Browse Packages -> SublimeREPL -> config -> Python -> Main.sublime-menu”

  2. 找到所有的"cmd"段,將其後的python全部替換爲F:/pytemp/actENV.bat,保存。

  3. 測試。新建test.py

    import numpy as np
    import pandas as pd
    
    print(pd.Series([1,2,3,4]))
    

    f5ctrl+f5,新標籤頁顯示控制檯和編譯的結果。

  4. 評估測試:發送代碼塊參考錯誤3的解決方案。沒有Rstudio的好用!調試還是選擇Spyder方便。

由於直接指定了編譯時的Python解釋器,本配置不需要額外的設定,如在“Preferences -> Package Settings -> SublimeREPL -> Settings - User”中指定Python路徑等。
可以配置jupyter-book.bat或jupyter-qtconsole實現交互。

常見問題及解決

錯誤1FileNotFoundError(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"},}

錯誤2ImportError: 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.jsondefault.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 -> RCtrl+Shift+P ->repl Rctrl+,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_sessionAuto Save Session.sublime_session
**方案2(測試無效):**下載 Markdown.sublime-syntax
ST > Preferences > Browse Packages 新建Markdown文件夾
將下載好的Markdown.sublime-syntax 拷貝到Markdown文件夾中,然後重啓ST3

markdownediting問題1

工具下載

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說明

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章