2011-01-05 205 views
15

我使用emacs作爲我主編的選擇題,既然我做了很多工作,在終端我始終運行的Emacs作爲.emacs編輯以始終在終端模式下啓動Emacs?

emacs -nw 

,使其在終端,而不是在一個窗口中運行。

我想只要運行emacs,讓它知道它應該在終端上運行。我的問題是 - 我如何編輯我的.emacs文件,以便這是默認行爲?

+0

你在使用什麼操作系統?許多Linux發行版都有一個emacs-nox軟件包,或者類似的命名。這是在沒有圖形支持的情況下編寫的,因此將始終運行在終端中。 – KeithB 2011-01-05 20:30:31

+0

我在Ubuntu 10.10上,如果有幫助的話。 – templatetypedef 2011-01-05 20:32:21

+0

有趣的是,在Mac OSX上,emacs對我來說總是意味着emacs-nw。 – 2012-03-23 16:19:38

回答

25

您不能在.emacs文件中執行此操作。在解析文件時,「選擇的」emacs二進制文件已經在運行。

您可以按照一位評論者的建議安裝emacs-nox軟件包,或者在shell中創建一個別名,以便「emacs」始終被視爲「emacs -nw」。

蘭迪

+1

爲別名建議+1 - defo在這種情況下走的路 – cristobalito 2011-01-05 20:40:33

+0

感謝您的詳細答案!我會試試看。 – templatetypedef 2011-01-05 20:44:38

+1

emacs-nox,哇。多麼好的包裝。謝謝先生! – meawoppl 2013-07-30 16:10:29

14

我使用的替代的.emacs一個bash別名做到這一點。
將此行添加到〜/ .bashrc中。

alias emacs='emacs -nw' 
2

有任何簡單的方法來解決,在所有無關使用Emacs併爲可運行之間在控制檯VS X選擇任何程序中工作一般問題:

unset DISPLAY 

當然,您可能不希望將它放在您的配置文件中,以便全局應用於所有shell會話,因此如果您希望它僅適用於emacs,那麼可以使用如下命令行調用它:

DISPLAY= emacs 

注意空間!如果你離開的空間出來就意味着你的顯示設置emacs的,而不是設置DISPLAY不了了之......這個命令是一個簡寫:

DISPLAY=; emacs 

因此,無論使用上面的命令行(S ),或把在一個包裝腳本,將是這個樣子:

#!/bin/bash 
unset DISPLAY 
exec emacs 

我推薦的高管那裏,因爲它會與emacs的更換你的包裹腳本;看到這兩者之間的區別,你可以運行:

pstree -p 
+1

btw:我很好奇 - 你爲什麼要在操作系統中運行emacs? – aculich 2011-01-13 13:46:19

+0

帶分號的第三個命令與第二個命令不同*。如果添加分號,它會在當前shell以及emacs子進程中將DISPLAY設置爲空。沒有分號只適用於emacs。用分號表示它具有破壞性。 – Thomas 2016-09-30 09:50:26

+0

爲什麼你想要打開十億個窗口?此外,我還會在「屏幕」內執行所有編碼工作,這與X無關。@aculich – Thomas 2016-09-30 09:51:44

1

當我第一次設立了一個emacs的「的emacs -nw」的別名在windows我被困在我以爲tototoshi的解釋沒有工作的情況。然而,所有這一切都需要重啓我的終端。因此,我認爲值得一提的是,如果您在git bash終端中使用emacs創建.bashrc文件並在其中添加「別名emacs ='emacs -nw」(如tototoshi提到的),那麼在windows(至少)關閉並重新打開您的終端使其工作。

+0

或者我認爲鍵入「term」。有一個命令來做到這一點。 – Thufir 2013-12-08 06:14:41