2011-03-08 84 views
7

我在Ubuntu 10.04桌面機器上安裝了GNU Emacs 23(包emacs23),並且在Ubuntu 10.04無頭服務器(未安裝X)上安裝了包emacs23-nox。兩個安裝都有相同的~/.emacs文件。我在兩臺電腦上都運行Emacs和-nw。我沒有在任何一臺機器上安裝python-mode,因爲我的理解是這包含在Emacs 23中。Emacs Python模式語法高亮

在桌面計算機上,Python中的註釋(以#開頭)以紅色突出顯示。在服務器上,評論以與所有其他非高亮文本類似的純白文本顯示。有關爲什麼評論未在服務器(nox)安裝上正確突出顯示的任何建議?

更新:這似乎是一個終端相關的問題。我sshterminator通過屏幕替換byobu進入服務器機器。如果我在TERM="xterm-256color" emacs的服務器上運行emacs,則會突出顯示註釋,但所有其他顏色看起來都很奇怪。

更新:添加`export TERM =「xterm-256color」「解決了」這個。語法突出現在有非常奇怪的顏色:紫色丁香和淺棕色。我的綠色當前線突出顯示欄現在是淡淡的黃色/綠色。評論以紅色突出顯示:)

更新:已解決。設置TERM="xterm-color"會生成「正確」的顏色,包括突出顯示評論。對於TERM,服務器的默認值爲「screen-bce」,但未突出顯示評論。

更新:未解決。byobu爲各種功能鍵提供了鍵盤綁定,可輕鬆創建新的屏幕會話並在它們之間切換。當TERM設置爲xterm-color時,這些功能鍵不再起作用。所以我想我只需要對Emacs中Python代碼中未被注意的評論感到滿意。

+0

@Michael:謝謝(不知道那個)。但是我在進一步測試後「未能解決」它,所以有人可能會有答案。 – SabreWolfy 2011-03-08 19:46:57

+2

通常,如果我在遠程系統上編輯文件,我使用emacs TRAMP模式。這樣我就可以使用我所有的本地編輯設置。這對你來說是一種選擇嗎? – 2011-03-08 21:39:52

+0

@Jeff:通常我會在服務器上執行ssh以處理其他任務以及編輯文件,因此,從「客戶端」編輯文件以使用客戶端設置並不是我所期待的。還是)感謝你的建議;這是我會更徹底地研究。 – SabreWolfy 2011-03-08 22:46:48

回答

2

對於我從裏面byobuTERM=xterm製作了語法高亮正確的色彩運行emacs -nw(在python和bash的評論都紅不只是#)和功能鍵工作。請注意我設置TERM爲運行emacs的,而不是在.bashrc一般設置它的別名的一部分:

alias emacs='TERM=xterm; emacs -nw'

參見這篇文章:Terminal emacs colors only work with TERM=xterm-256color

+0

謝謝,我剛剛再次檢查,我可以證實這一點:顏色的Python語法突出顯示在byobu(TERM = xterm)中正確顯示。 byobu中的功能鍵也可以正常工作。 – SabreWolfy 2012-04-14 13:07:29

2

我沒有安裝程序來測試它,但我注意到在screen-bce和xterm-color之間定義了功能鍵的方式有些不同。您可以嘗試使用以下步驟將設置從screen-bce複製到xterm-color。

使用infocmp程序,您可以查看terminfo的設置之間的區別有兩個條件設定:

infocmp -d screen-bce xterm-color 

您可以使用infocmp到terminfo文件反編譯它的來源,並進行更改,試圖模仿另一個終端的行爲。首先解碼xterm-color terminfo文件。

infocmp xterm-color > xterm-color.src 

編輯xterm-color.src並修改kf1至kf19字段的定義以匹配screen-bce的值。使用infocmp來查看screen-bce的定義。

infocmp screen-bce 

最後使用tic程序進行編譯。

tic xterm-color.src 

如果以非root用戶身份運行它,它會將編譯後的terminfo文件放到$ HOME/.terminfo目錄中。在我的系統上,Ubuntu似乎自動選擇了它。如果滿意,也可以將其安裝到標準/ usr/share/terminfo中。以root身份運行tic應該爲你做這件事。

祝你好運!

1

我只是說

(set-face-foreground 'font-lock-comment-face "red") 

到我的.emacs