在RStudio中执行多行代码的快捷方式

5
我正在使用RStudio,通常逐行运行代码,使用Crtl + Enter。总体而言,这很好用,但是在使用dplyr时,我希望能够一次性运行整个使用管道操作符%>% 编写的代码段。
例如,我想一次性执行以下代码段,最好独立于当前光标位置在管道代码行中的哪里:
mtcars %>%
  filter(carb >= 2) %>%
  group_by(cyl) %>%
  summarise(mean.hp = mean(hp))

我可以逐行运行这一行或标记所有行,然后按下Crtl + Enter,但两种方式都有点烦人。在搜索互联网和RStudio选项时,可在“Tools/Modify Keyboard Shortcuts”中找到其他选项,如运行整个部分,即从...开始。

# Example section--------------------

在这些情况下,我总是通过鼠标或键盘选择代码块,然后按 Ctrl + Enter。也许有更好的方法,但我不知道。 - lmo
3个回答

5

在代码块的任意位置放置光标,使用 Crtl + Shift + (按住 CrtlShift 键,然后按下 按钮)。第一次会突出显示光标所在的单词,然后重复操作,整个代码块将被突出显示。如果您有嵌套循环或其他嵌套结构,则这将突出显示最内层的循环,然后是第二个最内层的循环等。

当您突出显示代码时,可以按下 Crtl + Enter 来执行代码。


1
我认为这是一个相当新的功能。尝试从网页更新Rstudio。如果你在Rstudio内部更新,你不会得到最新版本。 - Fridriksson

3

在 RStudio 版本 1.0.136 中,这已经是默认行为:

在多行管道命令中任意位置按下 Crtl + Enter,将完整运行该命令。


3
我不喜欢这种新的默认行为:当我在代码中忘记加上断点时,这会导致RStudio运行整个代码直到文档结尾,非常令人烦恼。为了使用上面描述的解决方法,我在全局选项中将其禁用了。 - jb123

3

我经常使用RStudio的"sections"功能(就像你指出的那样),但你没有提到一个键盘快捷键Ctrl+Alt+T,可以运行这个"section"(即# comment ---- 或 #### 分隔符之间的所有代码)。

# mutate ----

# rename ####

# filter ####

# summarize ####

通常我将这些部分用作大分区的“章节”,因此尽管这个快捷方式可能很有用,但它并没有像我希望的那样对我有所帮助... - jb123
看起来Fridriksson的答案更好: Ctrl + Shift + Up或Down选择块 Ctrl + R(运行高亮代码)或Ctrl + Enter(运行高亮线)请参见https://twitter.com/rstudiotips/statuses/710882801940234240获取动画示例 - Arthur Yip
更正Fridriksson的答案: Ctrl + Shift + Up可以帮助选择代码块(由空行分隔-不按块工作) Ctrl + Shift + Down跳转到代码块的末尾 - Arthur Yip

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接