我使用R 2.15在Mac OS X 10.7.3上使用Emacs 24(来自http://emacsformacosx.com/builds的Emacs-pretest-24.0.91-universal-10.6.7)。当我打开一个新的R缓冲区时,缓冲区名称为*/usr/local/bin/R*
。对于所有其他缓冲区,我收到一个合理的文件名,但对于R缓冲区,文件名始终包含此路径。如果您打开多个R缓冲区并显示缓冲区菜单(例如),这非常烦人。然后,您会看到许多缓冲区显示为*/usr/local/...
,您无法看到哪个缓冲区对应于哪个R进程。
这是Mac的问题还是仅仅是我的设置?
我能想象的唯一原因是以下几点。要从控制台调用R(从Emacs中调用),我在/usr/local/bin
中定义了一个符号链接,指向安装R的正确路径。这个链接我称之为“R”。
cd /usr/local/bin
sudo ln -s /Library/Frameworks/R.framework/Resources/bin/R R
我可以想象emacs缓冲区名称是从链接/usr/lcoal/bin/R
确定的,但我不知道如何解决这个问题,因为没有链接我无法启动R.在Ubuntu上,我只是看到了缓冲区名字R(或R [2],...等),在Mac OS上拥有相同的功能会很棒。
更新
inferior-R-program-name is a variable defined in `ess-custom.el'.
Its value is "/usr/local/bin/R"
Original value was "R"
ess-dialect is a variable defined in `ess-custom.el'.
Its value is "R"
Local in buffer */usr/local/bin/R*; global value is "R"
Automatically becomes buffer-local when set in any fashion.
ess-use-inferior-program-name-in-buffer-name is a variable defined in `ess-custom.el'.
Its value is t
Original value was nil
答案 0 :(得分:2)
您有两种选择:将inferior-R-program-name
设置为"R"
(并确保/usr/local/bin
位于$PATH
),或将ess-use-inferior-program-name-in-buffer-name
设置为{{ 1}}将缓冲区名称设置为nil
的值。