Emacs + R:缓冲区名称*/usr/local/bin/R *对于R缓冲区太长
问题描述:
我在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
答
你有两个选择:要么设置inferior-R-program-name
到"R"
(并确保/usr/local/bin
是你的$PATH
),或设置ess-use-inferior-program-name-in-buffer-name
到nil
将缓冲区名设置的值ess-dialect
。
'inferior-R-program-name','ess-dialect'和'ess-use-inferior-program-name-in-buffer-name'的值是多少? (你可以用'C-h v'找到并输入变量名称) – 2012-04-07 11:18:46
感谢您的帮助,Ernest。我添加了上面的信息。我猜'亚太R程序名称'看起来很可疑。 – 2012-04-07 14:32:59
我认为你有两个选择:或者将'inferior-R-program-name'设置为''R''(并确保'/ usr/local/bin'在你的'$ PATH'中),或者设置'ess -use-inferior-program-name-in-buffer-name'改为'nil'。 – 2012-04-07 14:58:03