我在 Mac OS X 10.7.3 和 R 2.15 上使用 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
中定义了一个符号链接(symbolic link),指向安装 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 操作系统上也有相同的名称,那就太好了。
更新
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
最佳答案
您有两个选择:将 inferior-R-program-name
设置为 "R"
(并确保 /usr/local/bin
code> 在您的 $PATH
中),或者将 ess-use-inferior-program-name-in-buffer-name
设置为 nil
会将缓冲区名称设置为 ess-dialect 的值。
关于r - Emacs + R : too long buffer name */usr/local/bin/R* for R buffers,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10052673/