R 和 Python 中的命令完成

R 和 Python 中的命令完成

在 bash 终端中,我可以通过将这些行插入到文件中来配置命令完成/etc/inputrc

$if Bash
    # Search history back and forward using page-up and page-down
    "\e[5~": history-search-backward
    "\e[6~": history-search-forward

    "\e[A": history-search-backward    # arrow up
    "\e[B": history-search-forward     # arrow down

    # Completion
    set match-hidden-files off
    set page-completions off
    set completion-query-items 350
    set show-all-if-ambiguous on

$endif

我想知道是否有办法在 R 和 python 交互式环境等程序中使用此功能?

在 R 工作站上,我不知怎么就拥有了这种能力,所以想知道如何才能为我的笔记本电脑配置这种能力。R 版本是:

R version 3.0.1 (2013-05-16) -- "Good Sport"
Copyright (C) 2013 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)

所以,我确信这是可能的,但是有人知道如何设置它吗?

答案1

您不能使用狂欢在另一个交互式会话中完成--此时您还没有与 bash 交互。

默认的 Python 解释器不提供自动完成功能,但你可以获得改进的解释器,例如伊班sudo apt-get install ipython)提供了一系列历史记录和自动完成功能。

默认的 R 解释器提供了一些自动完成功能。我不确定你是否能得到更好的命令行解释器,但像RStudio(不在存储库中,从其站点下载 deb 包)提供更好的交互性。

答案2

一种快捷方式是将以下几行添加到名为的脚本中.pythonstartup.py,并将其放在您的主目录中:

import rlcompleter, readline
readline.parse_and_bind('tab:complete')

然后将以下行添加到您的.bashrc

export PYTHONSTARTUP="/home/YOUR_USERNAME/.pythonstartup.py"
  • 注 1:该.bashrc文件通常位于您的主目录 ( ~)。
  • 注2:替换YOUR_USERNAME为您的实际用户名。

然后你要做的就是来源使更改立即生效:

source ~/.bashrc

或者直接打开一个新终端。

相关内容