首页 > 编程语言 >配置 Sublime Text 4 作为 R/Python IDE

配置 Sublime Text 4 作为 R/Python IDE

时间:2023-06-01 10:04:32浏览次数:38  
标签:terminus 配置文件 ctrl Python Text Radian prog IDE

VScode太占用内存了,在作为R IDE的时候,经常后台有13个R的Front-end进程,再开启浏览器,浏览器一会就崩溃了。RStudio不是轻便IDE的第一选择。比来比去,就只有Sublime Text。

必须安装的Sublime Text插件:SendCode、Terminus。

配置 Sublime Text 4 作为 R IDE

  1. R已经安装并加入系统路径。
  2. 安装R包languageserver:在R中执行install.packages(languageserver)
  3. 安装ST4插件(ctrl+shift+p, install package)
  • R-IDE插件
  • SendCode for sending R code to Terminal / R GUI / RStudio.
  • Terminus for running R Console in Sublime Text.
  • Whitespace for cleaning whitespaces.
  1. ctrl+shift+p, SendCode: Choose Program,选择Terminus。
  2. ctrl+shift+p, Terminus: Open Default Shell,在打开的(标签)窗口中运行R,或Radian。
  3. 新建R脚本,CTRL+Enter发送当前行到R命令窗口,或者Ctrl+B编译文件。
  4. "查看->布局:2列"可使窗口并排显示,快捷键切换ctrl+shift+1ctrl+shift+2

上面4也可以通过编辑Sendcode的配置文件实现,通过"设置->Package settings->SendCode->setting"打开配置文件,添加如下内容:

	"prog": "terminus",
	"r":
	{
		"bracketed_paste_mode": false,
		"prog": "terminus",
	},

第5步可以通过快捷键运行R或Radian。"设置->热键设置"(Default (Windows).sublime-keymap),添加如下2部分内容:

    // Open R at current file directory
    {
      "keys": ["ctrl+alt+r"],
      "command": "terminus_open",
      "args": {
          "cmd": "D:/ProgramFiles/Coding/Miniconda3/Scripts/radian.exe",
          "cwd": "${file_path:${folder}}",
          "pre_window_hooks": [
           ["set_layout", {
              "cols": [0.0, 0.5, 1.0],
              "rows": [0.0, 1.0],
              "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
          }],
          ["focus_group", {"group": 1}]
        ] ,
      "title": "Rterm",
      "tag": "r"
      }
    },
    // Send code to Terminus
    {
      "keys": ["ctrl+enter"], "command": "send_code",
      "context": [
         { "key": "selector",
           "operator": "equal",
           "operand": "source.python,source.r,source.sql" }
      ],
    },

第一部分:快捷键ctrl+alt+r直接进入Radian
第二部分:设置Send Code发送的快捷键为ctrl+enter。注意这部分是通用的,只需要将"tag"加入"operand"中,如R脚本对应的是"source.r"(Python脚本对应的是"source.python",SQL脚本对应的是"source.sql")。后面不在说明本部分的配置,最后给出总的设置。

完成以上设置后,新建R脚本。如果不保存,在“工具,编译系统”中选择“R”。按快捷键ctrl+alt+r,自动打开一个相邻的窗口和并排的窗口,并在相邻窗口中自动进入Radian。将相邻的窗口关掉,鼠标点并排窗口,按快捷键ctrl+alt+r,自动进入Radian。在脚本中按ctrl+enter发送当前行或选定部分的代码到Radian,全部编译快捷键ctrl+B

在Python中安装Radian,主要配置文件中的路径要按照自己电脑的安装设置。如果不使用Radian,上面配置中"cmd"改为Rterm.exe,即(没有加路径,因为已经在系统路径上)

"cmd": "rterm.exe",

配置 Sublime Text 4 作为 Python IDE

配置为Python IDE的方式同R。也可以直接编辑配置文件实现,下面是配置文件的编辑。

"设置->热键设置"(Default (Windows).sublime-keymap),添加如下内容(注意本机ipython.exe的路径):

   //Terminus窗口打开ipython
    {
    "keys": ["ctrl+alt+i"],
    "command": "terminus_open",
    "args": {
        "cmd": "D:/ProgramFiles/Coding/Miniconda3/Scripts/ipython.exe",
        "cwd": "${file_path:${folder}}",
        "pre_window_hooks": [
         ["set_layout", {
            "cols": [0.0, 0.5, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
        }],
        ["focus_group", {"group": 1}]
        ] ,
        "title": "iPython",
        "tag": "python"
        }
    },

如果按上面完成了R的配置,Sendcode的配置文件("设置->Package settings->SendCode->setting")内容如下:

{
   "prog": "terminus",
   "r":
   {
	"bracketed_paste_mode": false,
	"prog": "terminus",
   },
   "python":
    {
        "bracketed_paste_mode": true,
        "prog": "terminus",
    },
}

要添加其他语言,可以类似修改配置文件即可。

汇总

R、Python IDE的配置文件("设置->热键设置"(Default (Windows).sublime-keymap))如下

	{ "keys": ["alt+-"], "command": "insert_snippet", "args": {"contents": " <- "} },
	{ "keys": ["alt+shift+down"], "command": "duplicate_line" },
    // Send code to Terminus
    {
      "keys": ["ctrl+enter"], "command": "send_code",
      "context": [
         { "key": "selector",
           "operator": "equal",
           "operand": "source.python,source.r,source.sql" }
      ],
    },
    // Open R at current file directory
    {
      "keys": ["ctrl+alt+r"],
      "command": "terminus_open",
      "args": {
          "cmd": "D:/ProgramFiles/Coding/Miniconda3/Scripts/radian.exe",
          "cwd": "${file_path:${folder}}",
          "pre_window_hooks": [
           ["set_layout", {
              "cols": [0.0, 0.5, 1.0],
              "rows": [0.0, 1.0],
              "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
          }],
          ["focus_group", {"group": 1}]
        ] ,
      "title": "Rterm",
      "tag": "r"
      }
    },
   //Terminus窗口打开ipython
	{
    "keys": ["ctrl+alt+i"],
    "command": "terminus_open",
    "args": {
        "cmd": "D:/ProgramFiles/Coding/Miniconda3/Scripts/ipython.exe",
        "cwd": "${file_path:${folder}}",
        "pre_window_hooks": [
         ["set_layout", {
            "cols": [0.0, 0.5, 1.0],
            "rows": [0.0, 1.0],
            "cells": [[0, 0, 1, 1], [1, 0, 2, 1]]
        }],
        ["focus_group", {"group": 1}]
	    ] ,
	    "title": "iPython",
	    "tag": "python"
	    }
	},

Send Code 设置(SendCode.sublime-settings)("设置->Package settings->SendCode->setting")如下:

{
    "prog": "terminus",
    "r":
    {
	"bracketed_paste_mode": false,
	"prog": "terminus",
    },
    "python":
    {
        "bracketed_paste_mode": true,
        "prog": "terminus",
    },
}

标签:terminus,配置文件,ctrl,Python,Text,Radian,prog,IDE
From: https://www.cnblogs.com/ourweiguan/p/17448083.html

相关文章

  • 【博学谷学习记录】超强总结,用心分享 | python基础学习(数据类型,运算符)
    【博学谷IT技术支持】基础数据类型Python中的变量不需要声明。每个变量在使用前都必须赋值,变量赋值以后该变量才会被创建赋值方式直接赋值a=1#整型变量b=1.0#浮点型变量c='abc'#字符串多个赋值a=b=c=1a,b,c=1,2,3标准数据类型标准数据类型......
  • Python不同UTC时区时间转换
    Python不同UTC时区时间转换#时间转换->UTC+8,zone_code:旧的时区deftime_convert(old_date,zone_code):#UTC负时区对应的pytz可以识别的时区burden_timezone='Etc/GMT+'#UTC正时区对应的pytz可以识别的时区just_timezone='Etc/GMT-'#......
  • Python安装软件包报错 fatal error: Python.h: No such file or directory
    原因是我们安装的这个第三方库内含需要编译的调用pythonapi的c/c++文件,而linuxlinux发行版通常会把类库的头文件和相关的pkg-config分拆成一个单独的xxx-dev(el)包。以python为例,以下情况你是需要python-dev的:ubuntu下apt-getinstallpython-devapt-getinstallpython3-d......
  • Build context
    Buildcontext|DockerDocumentationhttps://docs.docker.com/build/building/context/ Multiple <src> resourcesmaybespecifiedbutthepathsoffilesanddirectorieswillbeinterpretedasrelativetothesourceofthecontextofthebuild.Docker......
  • 支持ignore的`v-clickoutside`指令
    clickoutside:{bind(el,binding,vnode){functionhandleClickOutside(e){console.log('e.target',e.target);if(e.target===el||el.contains(e.target)||e.target.closest('.ignore')){ return }bindin......
  • neo4j,python,批量建立节点时,会重复建立相同名称节点。去重。
    前提经过度娘得知,可以使用第三方包去重,但只管去重,你后面关系乱了人家第三方包不管。=-=或者直接在neo4j里面使用数据库语言去重,但关系还是得重新建立。况且,我想用python去重。干货来了后来,我换了个思路,那么就是合并节点。(虽然跟去重差不多)但总归总做出来了使用NodeMatcher......
  • Python进行多输出(多因变量)回归:集成学习梯度提升决策树GRADIENT BOOSTING,GBR回归训练
    原文链接: http://tecdat.cn/?p=25939最近我们被客户要求撰写关于多输出(多因变量)回归的研究报告,包括一些图形和统计输出。在之前的文章中,我们研究了许多使用多输出回归分析的方法。在本教程中,我们将学习如何使用梯度提升决策树GRADIENTBOOSTINGREGRESSOR拟合和预测多输出回归......
  • Python基于粒子群优化的投资组合优化研究|附代码数据
    全文链接:http://tecdat.cn/?p=6811最近我们被客户要求撰写关于粒子群优化的研究报告,包括一些图形和统计输出。粒子群优化(PSO)在PSO中,群中的每个粒子表示为向量。在投资组合优化的背景下,这是一个权重向量,表示每个资产的分配资本。矢量转换为多维搜索空间中的位置。每个粒子也会记......
  • 简述Python的作用域以及Python搜索变量的顺序
    Python作用域简单说就是一个变量的命名空间。代码中变量被赋值的位置,就决定了哪些范围的对象可以访问这个变量,这个范围就是变量的作用域。在Python中,只有模块(module),类(class)以及函数(def、lambda)才会引入新的作用域。Python的变量名解析机制也称为LEGB法则:本地作用域(Local)→当前作......
  • Python3 环境下使用 MySQLdb 库
    方法一:可以使用mysqlclient库安装:pipinstallmysqlclient 可能还需要下面对应的库,或者其它库#apt-getinstallmysql-dev或者#yuminstallmysql-devel使用:importMySQLdb 方法二:使用pymsql,这个需要做程序改造了......