2012-04-07 198 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