2012-04-07 201 views
2

我在Mac OS X上使用Emacs 24(Emacs-pretest-24.0.91-universal-10.6.7,从http://emacsformacosx.com/builds) 10.7.3与R 2.15。当我打开一个新的R缓冲区时,缓冲区名称是*/usr/local/bin/R*。对于所有其他缓冲区,我会收到合理的文件名,但对于R缓冲区,文件名始终包含此路径。如果打开多个R缓冲区并显示缓冲区菜单(例如),这非常烦人。然后你看到很多显示为*/usr/local/...的缓冲区,并且看不到哪个缓冲区对应于哪个R进程。Emacs + R:缓冲区名称*/usr/local/bin/R *对于R缓冲区太长

这是Mac的问题还是我的设置?

我唯一可以形象的原因是以下几点。要从控制台(从Emacs内部)调用R,我在/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 
+1

'inferior-R-program-name','ess-dialect'和'ess-use-inferior-program-name-in-buffer-name'的值是多少? (你可以用'C-h v'找到并输入变量名称) – 2012-04-07 11:18:46

+0

感谢您的帮助,Ernest。我添加了上面的信息。我猜'亚太R程序名称'看起来很可疑。 – 2012-04-07 14:32:59

+3

我认为你有两个选择:或者将'inferior-R-program-name'设置为''R''(并确保'/ usr/local/bin'在你的'$ PATH'中),或者设置'ess -use-inferior-program-name-in-buffer-name'改为'nil'。 – 2012-04-07 14:58:03

回答

2

你有两个选择:要么设置inferior-R-program-name"R"(并确保/usr/local/bin是你的$PATH),或设置ess-use-inferior-program-name-in-buffer-namenil将缓冲区名设置的值ess-dialect