配置 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-IDE插件
安装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-syntaxST > 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说明