Using the RStudio Terminal

学习网址为:

https://support.rstudio.com/hc/en-us/articles/115010737148-Using-the-RStudio-Terminal

Introduction

RStudio终端可以从RStudio IDE中访问系统shell。 它支持xterm仿真,支持使用全屏终端应用程序(例如文本编辑器,终端多路复用器)以及使用行编辑和外壳历史的常规命令行操作。

shell有很多潜在用途,包括高级源代码控制操作,执行长时间运行的作业,远程登录,RStudio服务器的系统管理以及前述的全屏终端程序。

本文不试图涵盖何时以及如何使用系统shell的基础知识。 相反,它侧重于RStudio终端功能本身的功能,设计,选项和限制。

请注意,与大多数RStudio功能不同,终端的特性导致了几个平台特定的差异。 这些主要分为两类:Windows和其他一切(Mac,Linux和Server)。 附录A提供了一个总结。

Getting Started(入门)

“终端”选项卡位于“控制台”选项卡旁边。 点击终端标签,将会创建一个新的终端会话(如果没有的话)。

If the tab isn't visible, show it via Shift+Alt+T (Tools->Terminal->Move Focus to Terminal).——如果标签不可见,请通过Shift + Alt + T(工具 - >终端 - >将焦点移动到终端)显示它。

The full list of terminal-related RStudio commands and keyboard shortcuts is in

Appendix B

. Most terminal-related commands can be found on the Terminal dropdown menu in the terminal pane, and on the Tools->Terminal menu.——附录B中提供了与终端相关的RStudio命令和键盘快捷键的完整列表。大多数与终端相关的命令可以在终端窗格的Terminal下拉菜单中以及Tools-> Terminal菜单中找到。

这里是一个输出简单命令输出的终端:

通过工具 - >全局选项 - >外观设置来控制终端的外观。

xterm模拟可以使用全屏程序。 这里是Emacs运行(将RStudio编辑器主题更改为Merbivore后):

多个终端

RStudio支持多个终端会话。 要启动另一个终端会话,请使用终端下拉菜单中的新建终端命令或Shift + Alt + R。

每个终端会话都是独立的,具有自己的系统shell进程和缓冲区。 通过(1)使用下拉菜单旁边的箭头,(2)在下拉列表中单击终端名称或(3)使用Previous Terminal / Next Terminal下拉菜单命令在它们之间切换。 下拉按钮显示当前所选终端会话的名称(以下屏幕截图中的“终端3”):

终端名称

终端会话有一个默认名称,“终端1”,“终端2”等。 通过下拉菜单中的重命名终端命令重命名当前终端。 例如,在前面的例子中将“Terminal 3”重命名为“Remote Session”给出了这个:

因此,在您的工作流程中,您可以创建多个终端并为其提供有意义的名称以简化导航。 一组命名终端或“终端机”通常与RStudio项目相关联。 有关更多详细信息,请参阅终端架构和生命周期。

另一种(或补充)方法是使用高级 - 使用Tmux或屏幕中所述的终端多路复用器。

在终端执行

在RStudio编辑器中编辑文件时,可以通过Ctrl + Alt + Enter(Mac上的Cmd + Alt + Enter)将任何选择(或者当前行,如果没有选中)发送到活动终端。 如果单线发送到终端,则光标将自动前进到下一行,允许单步执行。

在以下示例中,加载了一个简单的Python源文件,在当前终端中启动了Python解释器,并使用Ctrl + Alt + Enter单步执行脚本:

如果正在编辑shell文件(* .sh),则Ctrl + Enter(在Mac上加上Cmd + Enter)可用于单步执行,运行工具栏按钮也可用于单步执行。 这也可以在Windows上运行,但不会检查活动终端会话中加载的shell类型是否与正在发送的命令匹配。

请注意,“运行脚本”按钮与以前版本的RStudio执行的操作相同,并会通过R Console中的system()保存并运行整个脚本。 此按钮不会出现在Windows中。

繁忙的终端

在终端中运行的程序不会阻塞RStudio用户界面的其余部分,因此即使一个或多个终端会话运行子进程,工作也可以在RStudio中继续工作。

带有子进程的终端会被RStudio占用,并且它的名称旁边会出现(busy),并且关闭[x]将变为停止按钮:

如果终端会话忙碌,尝试退出RStudio(或任何其他将停止当前R会话的操作)将发出警告。 进行中会杀死正在运行的进程。 下面是一个尝试退出RStudio for Windows的例子,它有一个繁忙的PowerShell终端会话:

重要提示:在Windows桌面IDE上,只有使用命令提示符或PowerShell的终端会话才能执行“繁忙检测”。 在Git-Bash或WSL(适用于Linux的Windows子系统)上,终端永远不会报告为繁忙,因此即使它们正在运行进程,也没有关于杀死这些内容的警告。

关闭终端会话

要关闭终端会话,请使用终端下拉菜单中的关闭终端命令,单击终端窗格工具栏最右侧的[x],或者在shell本身内键入exit。

如前所述,如果终端当前处于繁忙状态,则[x]变为停止按钮。

在Windows桌面以外的所有版本的RStudio中,单击停止按钮将触发中断当前终端命令,向终端发送中断; 这可能会关闭当前正在运行的程序(程序本身决定接收中断时该怎么做),但不会关闭终端。 在Windows上,停止按钮不会执行任何操作。

最后,如果终端功能对您的工作流程没有用处,您可以通过单击终端选项卡上的[x]本身来完全删除选项卡。 这将关闭所有正在运行的终端会话,包括任何定制的终端会话。 RStudio的后续实例将不会显示“终端”选项卡:要将其返回,请使用Shift + Alt + T(工具 - >终端 - >将焦点移至终端)。

终端缓冲区

运行非全屏终端程序时,终端缓冲区保留最后1000行输出。 如果您的系统支持,您可以使用滚动条(通过鼠标)或鼠标滚轮滚动浏览此缓冲区。 全屏程序通常有自己的内置缓冲区和导航约定。

使用本地shell命令清除显示(例如,清除Posix样式的shell,cls for Windows命令提示符或Clear-Host for PowerShell)只会清除缓冲区的可见部分。 要清除整个缓冲区,请在焦点位于终端中时使用Ctrl + L。

鼠标可用于在终端中选择文本,以便可将其复制并粘贴到其他位置。

要将整个终端缓冲区发送到新的RStudio编辑器缓冲区,请使用终端下拉菜单中的“复制终端到编辑器”命令。

下期见:

下期完成以下内容:

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180316G004NH00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券