2013-04-25 1 views
19

この質問は、コマンド履歴をナビゲートする際に、Rコンソールがbashシェルのように動作するように設定することに関するものです。これは、?historyと多少関連しています。中括弧で囲まれた複数行については、Rのコマンドヒストリーナビゲーションをbashと似ているように構成したいと思います。Rのコマンド履歴:「複数行、中括弧で囲まれた入力」を1行として扱うための上向き矢印の設定方法?

現在Linux上のxtermでRを実行している場合、上矢印を使用してコマンド履歴をナビゲートすると、行のセットが中括弧で囲まれていても、それぞれの前の行が1つずつ呼び出されます。これは、たとえば、複数行の関数をテキストエディタからRコンソールにコピー/ペーストするときに発生します。 bashではそうではありません。ここ は、この点でどのようにbashの機能の一例です:

bashシェルでは、Linuxでのxtermの中に、以下の5つの行...

a=1 
{ 
x=1 
y=1 
} 

を入力した後...の初回上向きの矢印が... ...このように、括弧で囲まれたコマンドの単一ライン再定式化をリコール

{ x=1; y=1; } 

...と第2のプレスは、このことを思い出しますでしょう

a=1 

Rでは、カプセル化に関係なく、上矢印が一度に1行ずつ後方にナビゲートするようです。 Rを設定してbashのようなコマンド履歴のナビゲーション機能を使用する方法はありますか?

+4

はケースでは、Emacsのユーザーである(または1つになって考えるでしょう)、それはPROBです。 ESS(Emacs Speaks Statistics)が求めていることだけを言及する価値があります。そして、はい、それはとても便利です。 –

+7

RStudioと同様に、私は質問を正しく理解しています。 –

+2

(OK、あなたの質問を読んで、ESSは実際には少し違っています。そして、それは中かっこで囲まれているか、いくつかの式で構成されているかどうかなど、貼り付けられたコードブロック全体を思い出します。 –

答えて

0

rlwrapを使用できます。私は他のコンソールプログラムのためにそれを使用し、それは非常にうまく動作します。 Rコマンドの前にrlwrapバイナリを追加する必要があります。そして、履歴行は、複数行の一致を含むいくつかの方法で復元できます。 Rstudioと同様

+0

これをインストールして、 'rlwrap R'を実行しようとしましたが、何か違うものは見えませんでした。私は他の何かをしなければならないのですか? – eddi

+0

ここをクリックhttp://ultopia.knoware.nl/~hlub/rlwrap/rlwrap.html - 多行オプション。 –

+1

OK、 'rlwrap -m R'を試しても目に見える変更はありません...? – eddi

1

のLinux/Unixのための回避策

RコンソールでユーザーがShiftキーを使用している(アリB.フリードマンのおかげコメント)、することができます、RETURNをバイパスするを入力しますCtrl-VCtrl-Jを使用して、改行コマンドを受け入れずに改行を開始します(R端末で)。このように、複数行のコマンドは、入力の代わりに改行を含む1ライナーとして履歴に受け入れられ、編集する機会があります。 .inputrcファイルで管理して、この操作のカスタムコンビネーションを作成することもできます。

Rのダイレクトリコンフィギュレーションが可能だとは思いません。

Readline man page may help more.

関連する問題