SublimeText + Python + Latex配置

0. 前言

一直以来,写代码的最主要工具就是Sublime,这次重装电脑以后,虽然软件是绿色版的,但是很多插件设置是跟路径相关的,因此都用不了了。所以刚好重新安装配置一番,以后在其他机子上安装起来也简单。

1. 安装

可以到官网下载安装:Sublime官网

基于某些原因,也可以下载绿色版的,这里推荐一个下载:nocmd sublimetext

下载解压就能用,自带了几款插件。

2. 插件管理

sublime最吸引人的还是其丰富的插件,可以让你写起代码来更容易。但是由于现在其插件网址访问的问题,经常不能正常的安装插件。其表现在于,在安装插件时,显示以下窗口:


无法安装插件

现在分享一下我的解决方法。首先按顺序点击 设置 --> Package Setting --> Package Control --> Settings - Default,然后会弹出一个配置文件,在文件开头可以看到如下内容:

channels

这个 url 指向一个 json 文件,就是这个文件保存着各个插件的下载地址,上面出错就是因为无法访问这个文件。

那我们转变一下思路,不要每次安装的时候再去访问这个文件,直接下载到本地就好了(虽然可能无法跟上更新,但是不能吃肉也先喝口汤吧)。

一个方法是将该 url 用浏览器打开 ,然后保存该文件,但是可能打不开(废话,打得开就不会出错了),我这里提供了一份:channel_v3.json。直接下载里面的 Package Control.zip,下载后解压,可以看到一个 Package Control 文件夹,里面包含了 channel_v3.json

然后打开sublime,点击 设置 --> 浏览插件目录,将上面的 Package Control 文件夹复制进去。

再回到sublime,更改刚才的配置文件,将 channels 改成你的 channel_v3.json 存放的位置,我的更改如下:

new chanels

然后保存文件,重启sublime。
这时候发现就可以安装插件了。

3. python插件

因为我用sublime写的最多的代码就是python,所以需要针对python安装一些插件。
主要参考网上一些文章:

  • 让你用sublime写出最完美的python代码--windows环境
  • Sublime text 3搭建Python开发环境及常用插件安装

3.1 Flake8

用来分析代码的,可以显示你代码中哪里不规范,尤其是python这种动态语言,有时候变量名写错了而不自知。

安装

要使用这个插件,需要安装三个东西:

  • Flake8
    这是本体,需要使用 pip install flake8 安装,
  • SublimeLinter
    这是代码提示的框架,可以集成各种引擎来分析代码。再sublime里面使用Package Control来安装。
  • SublimeLinter-flake8
    这是用来连接 SublimeLinterflake8 的,同样再sublime里面安装。
配置

默认的错误样式如下:

错误样式

可以再配置里进行更改,打开 SublimeLinter 的配置文件,将Default的配置全部拷贝到User里面,要改的话只改User的配置。
配置文件的注释很详细,比如要改刚才这个样式:
mark_style

还有一种情况是,有些提示很烦,我不想让它显示,比如每行最多 79 的字符,我经常超过,就会有一大堆的提示,这个可以通过修改 flake8 的源码。我的安装路径是 C:\Python\Python37\Lib\site-packages\flake8,打开这个文件夹以后,里面有一个 default.py 的文件,里面就保存着配置。
要改长度限制可以更改 MAX_LINE_LENGTH,我改成了150,省得一直烦我,然后有一些错误你也可以添加到 IGNORE,这样就可以忽略了。当然不建议改太多,不然就失去了这个插件的意义了。

default.py

3.2 Anaconda

这是用来补全代码的,很好用,还可以查看函数的注释,跳转到定义等。
同样是在 Sublime 里面安装就好了。
然后这个插件也有代码提示的功能,为了不和上面 flake8 冲突,我们可以关掉提示,具体就是打开插件的 User 设置,然后写入:

{
    "anaconda_linting": false,
    "pep8": false
}

3.3 DocBlockr Python

这个是用来快速生成符合规范的代码注释的。
GitHub地址是:sublime_docblockr_python
也可以直接再sublime中安装。
使用效果:

DocBlockr Python

也可以配置其他风格的注释格式,打开插件的 User 设置,然后写入:

{
    "formatter": "numpy"
}

其中的可选值包括:

  • PEP0257
  • docblock
  • google
  • numpy
  • sphinx

可以自行选择。

3.4 SublimeREPL

可以在sublime直接运行python脚本,但是sublime没有交互功能,也就是你没法输入,可以使用这个插件来实现交互。
装完以后,工具面板就多出这个,可以用来运行python脚本。


SublimeREPL

但是这样子有点麻烦,可以绑定快捷键。
打开:


快捷键

然后在 User 设置中粘贴如下代码:

[
    {
    "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": ["f8"],
    "caption": "SublimeREPL: Python - PDB current file",
    "command": "run_existing_window_command",
    "args": {
        "id": "repl_python_pdb",
        "file": "config/Python/Main.sublime-menu"}
    },   
]

两个键,一个运行,一个调试。

4. Latex配置

4.1 MiKTeX

点击这里下载:miktex
一路安装下来就好了。

4.2 SumatraPDF

点击这里下载:SumatraPDF
安装完以后,把路径添加到环境变量。

然后添加反向搜索,就是用latex生成pdf以后,你点击pdf里面的文字,可以跳转到sublime对应的代码位置。有两种方法可以设置:

  1. 软件内设置。打开 SumatraPDF ,打开右上角的设置:
    SumatraPDF设置

    然后再红框中填入:
"C:\GreenProgram\Sublime Text Build 3188\sublime_text.exe" "%f:%l"

将路径改为你自己的sublime安装路径。

  1. 命令行设置。打开CMD以后,粘贴如下代码:
    sumatrapdf.exe -inverse-search "\"C:\Program Files\Sublime Text 3\sublime_text.exe\" \"%f:%l\""
    

同样要把路径更改你自己的。

4.3 LatexTools

用这个才能把latex源代码和 MiKTeX 还有 SumatraPDF 连接在一起。这个插件同样也支持很多功能,比如公式实时预览。
同样在sublime里安装就行。
安装好以后需要配置一下 MiKTeX 的路径,打开 User 配置,然后找到以下部分:

latextool配置

把其中的 texpath 改为你的 MiKTeX 的安装目录。其实最后也是会被添加到环境变量里的。

4.4 Latex-cwl

以上配置以后就可以使用了,但是没有代码提示会很辛苦的。
Latex-cwl是latex的提示工具,可以少敲很多字。
同样在sublime中安装一下就好了。

4.5 使用

使用的时候按ctrl+B 就可以自动编译且调用 SumatraPDF 显示 PDF 了,我习惯像下图这样,两个应用各占一半屏幕,用起来就很有其他latex编辑器的感觉了。

latex

5. 其他插件

还有很多很好用的插件,这里简单说明一下:

5.1 ColorHighlight

可以高亮代码里面的颜色,写前端或者游戏时就很有用,效果如下:


ColorHighlight

5.2 AllAutocomplete

可以在当前打开的文件中查找,提供更好的自动补全效果。

5.3 Terminal

可以在sublime界面的邮件菜单中添加一个当前文件所在位置打开终端的功能,默认打开系统默认的终端,可以自行在配置文件中更改。


Terminal

5.4 ColorPicker

可以弹出一个取色器,也是对于前端很好用的插件。


ColorPicker

ColorPicker

5.5 ConvertToUTF8

这个主要是解决编码的问题,装就对了。

你可能感兴趣的:(SublimeText + Python + Latex配置)