配置 Sublime Text 3 作为Python R LaTeX Markdown IDE

时间:2022-09-24 18:14:32

配置 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.
    • * 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说明

配置 Sublime Text 3 作为Python R LaTeX Markdown IDE的更多相关文章

  1. 配置Sublime Text 3的Python开发环境

    最近的项目是用Python开发自动化测试脚本的,所以使用Python比较多.我用的编辑器是Sublime Text3. Sublime Text 3是一个轻量级的跨平台文字编辑器,一经面世便被认为是一 ...

  2. 配置sublime text 3 的Python开发环境

    为了在sublime实现像Python自带idle一样的F5交互功能: 首先安装package control然后install Sublime REPL:然后配置 Preference-->P ...

  3. 配置Sublime Text 2 的Python运行环境

    Sublime Text 2作为一款轻量级的编辑器,特点鲜明,方便使用,愈发受到普罗大众的喜爱,我个人最近也开始用了起来.同时,我近段时间还在学习Python的相关东西,所以开始用ST2来写Pytho ...

  4. VS code 配置为 Python R LaTeX IDE

    VS code配置为Python R LaTeX IDE VS code的中文断行.编辑功能强大,配置简单. VSC的扩展在应用商店搜索安装,快捷键ctrl+shift+x调出应用商店. 安装扩展后, ...

  5. 转载(sublime text 2 调试python时结果空白)

    sublime text 2 调试python时结果空白 之前用的时候都一切正常,今天突然就出现了这个问题.按ctrl+b执行的时候结果只有空白,查了很多文章都只提到了中文路径.系统路径等等,没有解决 ...

  6. 【Nodejs】【node.js 安装 和 配置Sublime Text的Node.js】

    [一] [安装nodejs] 第一步:下载安装文件: https://nodejs.org/en/download/ 第二步:安装nodejs 下载完成之后,双击"node-v6.10.1- ...

  7. 把sublime text打造成python交互终端(windows和Ubuntu)

    作者:tongqingliu 转载请注明出处:http://www.cnblogs.com/liutongqing/p/7015958.html 把sublime text打造成python交互终端 ...

  8. 使用Sublime Text 3做Python开发

    引言 刚转到OS X平台时,寻找写Python,JavaScript,Markdown等文件的工具时,比较了许多工具, 最终选择了Sublime Text 2,主要原因是其跨平台, 想着以后再转到wi ...

  9. node.js 安装 和 配置Sublime Text的Node.js

    安装node.js 第一步:下载安装文件: https://nodejs.org/en/download/ 第二步:安装nodejs 下载完成之后,双击"node-v6.10.1-x64.m ...

随机推荐

  1. xcode6.0以上创建一个Empty Application

    运行Xcode 6,创建一个Single View Application工程.   创建好后,把工程目录下的Main.storyboard和LaunchScreen.xib删除,扔进废纸篓.   打 ...

  2. Python顺序集合之 List

    Python内置的一种数据类型是列表:list.list是一种有序的集合,可以随时添加和删除其中的元素. 比如,列出班里所有同学的名字,就可以用一个list表示: >>> ['Jen ...

  3. js+css实现带缓冲效果右键弹出菜单

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

  4. java console &lpar; mac osx &rpar; 命令行编码

    方法 vi ~/.bash_profile #添加新行, UTF-8表示你平台的编码方式 #例如你是GBK.GB18030的 #替换成你平台console可现实字符编码即可 export JAVA_T ...

  5. git在windows下clone、pull或者push内存溢出的解决办法

    发现国内使用git来真正管理源码的人不多,特别是大数据量的源码,今天使用git clone android的源码时突然出现remote out of memery,解决办法: git config - ...

  6. 进阶之初探nodeJS

    一.前言 在"初探nodeJS"随笔中,我们对于node有了一个大致地了解,并在最后也通过一个示例,了解了如何快速地开启一个简单的服务器. 今儿,再次看了该篇随笔,发现该随笔理论知 ...

  7. r&period;js合并实践

    项目中用到require.js做生产时模块开发,但上线要合并压缩,幸好它配套有r.js.下面就其用法说明一下. 首先建一个目录,里面的结构如下: require.js可以到r.js项目下载 r.js可 ...

  8. 字符是否为SQL的保留字

    要想知道字符是否为MS SQL Server保留字,那我们必须把SQL所有保留字放在一个数据集中.然后我们才能判断所查找的字符是否被包含在数据集中. MS SQL Server保留字: ) = 'ad ...

  9. Linux内核读书笔记第五周链接

    1.临界区(critical regions)就是访问和操作共享数据的代码段.多个执行线程并发访问同一个资源通常是不安全的,为了避免在临界区中并发访问,编程者必须保证这些代码 原子地执行.也就是说,代 ...

  10. ZOJ - 3661 pam

    题意:给一个字符串,和每个字符代表的val,每个回文串的价值就是前半部分的val26进制%777777777,求价值第k小的回文串 题解:建个pam,然后dfs两边(0,1),统计价值sort一遍就好 ...