C.1 预备工作
如果你的 UNIX 系统已经安装了 GNU readline 库, 那么 R 配置中允许在 UNIX 下编译 R 代码,调用内置的 命令行编辑器,编辑和重新调用以前用过的命令。 注意:该附录提到的接口不是用于 UNIX 系统的 GNOME接口,而仅仅用于标准的命令行 接口。
如果启动时设置了参数 –no-readline (使用 ESS 时非常有用), 则该命令不可用。
Windows 版本的 R 有简单的命令行编辑功能; 见 GUI 界面的 Help 菜单下的 Console,已经 描述 Rterm.exe
的命令行操作的 文件 README.Rterm。
当使用 readline 写 R 命令时,下面 描述的函数可用。
这些函数常常是控制字符或者是元字符(Meta character)。控制字符,如 Control-m 表示同时按住 <CTRL> 和 <m> 键,并且以 C-m 形式表示。元字符,如 Meta-b 表示同时按住 <META>和 <b> 键,下面以 M-b 形式记录。如果你的终端没有 <META> 键,你可以用ESC 开始的两个字符序列 键入元字符。因此对于 M-b,你可以键入 <ESC><b>。ESC 字符序列在 有真正元键的终端也是允许的。注意这种情况 对元字符有特殊意义的。
C.2 编辑
R 保存你键入的命令行的历史, 包括错误的命令。历史文件中的命令可以被重新调用,修改 以新的命令的形式重新提交。在 Emacs-形式的命令行编辑中,任何直接的输入 都会将字符直接插入到你所编辑的命令中, 并且取代光标右侧的字符。 vi 输入模式是通过 M-i 或 M-a 启动,字符可以被键入并且通过键入 <ESC> 结束输入模式。
任何时候键入 <RET> 都会使得命令 重新被提交。
其他的编辑命令在下面的表中有所总结。
C.3 命令行编辑总结
重新调用命令和垂直移动
- C-p
- 跳到前一个命令(回溯历史文件)。
- C-n
- 跳到下一个命令(前溯历史文件)。
- C-r text
- 搜索含有字符串 text 的最后一个命令。
在大多数终端,你可以使用上下键分别代替 C-p 和 C-n。
水平移动指针
- C-a
- 回到命令行开头。
- C-e
- 跳到命令行结束。
- M-b
- 回溯一个单词。
- M-f
- 前溯一个单词。
- C-b
- 回溯一个字符。
- C-f
- 前溯一个字符。
在大多数终端,你可以使用左右键分别代替 C-b 和 C-f。
编辑和再提交
- text
- 在光标处插入文本 text。
- C-f text
- 在光标后插入 text。
- <DEL>
- 删除前面的字符(光标左侧)。
- C-d
- 删除光标处的字符。
- M-d
- 删除光标处单词以外的部分,并且“保存”它们。
- C-k
- 删除光标到命令结束的部分,并且“保存”它们。
- C-y
- 插入最后“保存”的文本。
- C-t
- 转置光标处的文本。
- M-l
- 将字符转换成小写字符。
- M-c
- 将单词转换成大写。
- <RET>
- 重新向 R 提交命令。
最后的 <RET> 命令将会终止命令行编辑。
本文采用「CC BY-SA 4.0 CN」协议转载自互联网、仅供学习交流,内容版权归原作者所有,如涉作品、版权和其他问题请给「我们」留言处理。