当前位置: 首页 > news >正文

VScode、Windsurf、Cursor 中 R 语言相关快捷键设置

前言

在生物信息学数据分析中,R语言是一个不可或缺的工具。为了提高R语言编程效率,合理设置快捷键显得尤为重要。本文介绍在VSCode Windsurf Cursor 中一些实用的R语言快捷键设置,让非 Rstudio 的 IDE 用起来得心应手😑
在这里插入图片描述

操作种类

管道操作符
  • 管道操作符:%>% ,这是来自tidyverse包的经典管道操作符,用于链式数据处理,使代码更清晰易读。举个例子:data %>% filter() %>% select()
  • 新型管道操作符: %<>%,来自magrittr包的复合赋值管道操作符,可以同时完成管道操作和赋值。例如:data %<>% filter() %>% select()
赋值操作符
  • 左箭头赋值:<-,R语言中最常用的赋值方式
  • 右箭头赋值:->,反向赋值操作符

例子:x <- 1; 1 -> x

集合相关操作
  • 成员判断操作符:%in%,用于判断元素是否存在于向量或列表中,例如:"gene1" %in% gene_list
其他
  • RMarkdown相关,插入R代码块,快速在Rmd文件中插入R代码块,
  • R 选项设置快捷键,常用选项设置,快速设置R环境的常用选项,比如:最大打印行数:100,启用httpgd图形设备,绘图设备为quartz等。

配置方法

所有快捷键都在R文件(.r)和RMarkdown文件(.rmd)中生效。快捷键设置可以根据个人习惯进行自定义修改。可以快速从 Rstudio 向其他 IDE 迁移,这些设置将帮在进行生物信息学分析时更高效地编写R代码

打开 VSCode Windsurf Cursor 等的用户设置Json文件,添加:

[{"key": "ctrl+shift+m","command": "editor.action.insertSnippet","args": {"snippet": " %>% "},"when": "editorTextFocus && (editorLangId == 'r' | editorLangId == 'rmd')"},{"key": "alt+-","command": "type","args": {"text": " <- "},"when": "editorTextFocus && (editorLangId == 'r' | editorLangId == 'rmd')"},{"key": "alt+=","command": "type","args": {"text": " -> "},"when": "editorTextFocus && (editorLangId == 'r' | editorLangId == 'rmd')"},{"key": "alt+5","command": "editor.action.insertSnippet","args": {"snippet": " %in% "},"when": "editorTextFocus && (editorLangId == 'r' | editorLangId == 'rmd')"},{"key": "alt+i","command": "editor.action.insertSnippet","args": {"snippet": "```{r}\n$0\n```"},"when": "editorTextFocus && editorLangId == 'rmd'"},{"key": "ctrl+shift+,","command": "editor.action.insertSnippet","args": {"snippet": " %<>% "},"when": "editorTextFocus && (editorLangId == 'r' | editorLangId == 'rmd')"},{"key": "alt+o","command": "editor.action.insertSnippet","when": "editorTextFocus && (editorLangId == 'r' | editorLangId == 'rmd')","args": {"snippet": "options(\n  max.print=100,\n  vsc.use_httpgd=TRUE,\n  device='quartz'\n)"}}]
http://www.lryc.cn/news/502927.html

相关文章:

  • tcpdump编译
  • Linux下禁止root远程登录访问
  • 算法刷题Day16: BM41 输出二叉树的右视图
  • 登录授权的实现:json web token + redis + springboot
  • yolov,coco,voc标记的睡岗检测数据集,可识别在桌子上趴着睡,埋头睡觉,座椅上靠着睡,平躺着睡等多种睡姿的检测,6549张图片
  • 数据库表的CRUD
  • Proxy与Reflect
  • 【安卓开发】【Android Studio】启动时报错“Unable to access Android SDK add-on list”
  • 【C语言篇】C 语言总复习(下):点亮编程思维,穿越代码的浩瀚星河
  • AI技术架构:从基础设施到应用
  • centos7的yum镜像源设置
  • Qt6开发自签名证书的https代理服务器
  • HarmonyOS:多线程并发-Worker
  • 小程序IOS安全区域优化:safe-area-inset-bottom
  • C++ 中多态性在实际项目中的应用场景
  • prettier配置
  • 【基于OpenEuler国产操作系统大数据实验环境搭建】
  • 期末软件经济学
  • 滑动窗口算法专题
  • 基于Java的世界时区自动计算及时间生成方法
  • Excel + Notepad + CMD 命令行批量修改文件名
  • OpenGL 几何着色器高级应用
  • 【Unity基础】Unity 2D实现拖拽功能的10种方法
  • duxapp中兼容多端的 BoxShadow 阴影组件
  • 服务器---centos上安装docker并使用docker配置jenkins
  • Linux系统操作03|chmod、vim
  • 数据库同步中间件DBSyncer安装配置及使用
  • 虚幻5描边轮廓材质
  • ISP帳戶會記錄什麼資訊?
  • Facebook如何避免因IP变动而封号?实用指南