Rのhistoryを一箇所にしてみたいとおもったけど ESS からだとうまくいかないよう‥
~/.Renviron を以下のようにつくる。
R_HISTFILE=~/.Rhistory R_HISTSIZE=10000
~/.Rprofile に
# Things put here are done first. .First <- function(){ utils::loadhistory(Sys.getenv("R_HISTFILE")) cat("\n Welcome to R!") cat("\n " , paste(date()), "\n\n" ) cat("\n " , "You are in", paste(getwd()), "\n\n" ) } # Things put here are done last. .Last <- function(){ utils::savehistory(Sys.getenv("R_HISTFILE")) graphics.off() cat("\n\n .Rhistory has been saved on " ,paste(date())) cat("\n\n Goodbye!\n\n") }
R_HISTFILEはデフォルトだと".Rhistory"なので、起動したディレクトリに作られる。これだと違う場所で行った操作が呼び出せない。
上の2行で、zsh のように便利にならないものかと思っていたのだけど‥。
普通に Terminal から直接 R を呼んだりする場合は問題なさそうだが、ESS はhistory の扱いがどうも違う。iESS は ESS から飛ばされてきた命令を記録してなさそうだし。残念。