Завершение команды в 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)

Итак, я уверен, что это возможно, но кто-нибудь знает, как его настроить?

4
задан 30 September 2013 в 22:36

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

Или просто откройте новый терминал.

2
ответ дан 30 September 2013 в 22:36

Вы не можете использовать завершение bash в другом интерактивном сеансе - в этот момент вы не взаимодействуете с bash.

По умолчанию интерпретатор python не предоставляет функции автозаполнения, но вы можете получить улучшенный интерпретатор, такой как IPython (sudo apt-get install ipython), который предоставляет широкий спектр функций истории и автозаполнения.

Интерпретатор R по умолчанию обеспечивает некоторое автозаполнение. Я не уверен, что вы можете получить лучший интерпретатор командной строки, но графический интерфейс, подобный RStudio (не в репозиториях, скачайте пакет deb с их сайта), обеспечивает лучшую интерактивность.

0
ответ дан 30 September 2013 в 22:36

Другие вопросы по тегам:

Похожие вопросы: