Doug 回复的第一部分提供了最简单的直接解决方案...添加
source('/Users/briandk/.Rprofile')
到你想要这些函数的任何 .r 文件的头部...用那一行代码,你得到你的实用程序函数。当然,这只有在您运行整个 TM 文件时才有帮助。
理想情况下,捆绑包将被更新...也许通过 TM 的首选项支持 shell 变量???
TM_RPROFILE
可以设置为 .Rprofile 文件的路径。
我只是用 2 行代码将它破解到 tmR.rb 中。要实现这一点,请转到 ~/Library/Application Support/TextMate/Pristine Copy/Bundles/ 并显示 R.tmbundle 的内容
在那里,您会找到 support/tmR.rb
在我的版本中,靠近第 112 行,您应该更改
tmpDir = File.join(ENV['TMP'] || "/tmp", "TM_R")
recursive_delete(tmpDir) if File.exists?(tmpDir) # remove the temp dir if it's already there
Dir::mkdir(tmpDir)
# Mechanism for dynamic reading
# stdin, stdout, stderr = popen3("R", "--vanilla", "--no-readline", "--slave", "--encoding=UTF-8")
stdin, stdout, stderr, pid = my_popen3("R --vanilla --slave --encoding=UTF-8 2>&1")
# init the R slave
stdin.puts(%{options(device="pdf")})
stdin.puts(%{options(repos="#{cran}")})
到
tmpDir = File.join(ENV['TMP'] || "/tmp", "TM_R")
recursive_delete(tmpDir) if File.exists?(tmpDir) # remove the temp dir if it's already there
Dir::mkdir(tmpDir)
rprofile = (ENV['TM_RPROFILE'] == nil) ? "" : "source('" + ENV['TM_RPROFILE'] + "')"
# Mechanism for dynamic reading
# stdin, stdout, stderr = popen3("R", "--vanilla", "--no-readline", "--slave", "--encoding=UTF-8")
stdin, stdout, stderr, pid = my_popen3("R --vanilla --slave --encoding=UTF-8 2>&1")
# init the R slave
stdin.puts("#{rprofile}")
stdin.puts(%{options(device="pdf")})
stdin.puts(%{options(repos="#{cran}")})
刚刚添加了两行...以“rprofile =”开头的一行和包含“#{rprofile}”的一行
-威尔