2009-07-02 4 views
50

저는 Emacs를 실행 중이며 C++ 모드와 PHP 모드에서 파일을 편집하고 있습니다. 구문 강조 기능을 하나의 개념으로 사용하고 싶지만, 기본 색상은 모범적입니다. 간신히 그 중 일부를 읽을 수 있습니다. 너무 어둡습니다. 값을 변경하는 가장 쉬운 방법은 무엇입니까? 나는 이것에 관해 웹에서 아무 것도 찾을 수없는 것 같다. 내 이맥스를 컴파일 할 때 바이너리를 바꾸는 것도 신경 쓰지 않는다. 나는 단지 파란색이 # 0000FF라고 말하고 #AAAAFF로 바꾸는 곳을 찾고 싶다.Emacs 구문 강조 색상 변경

답변

61

나는 이런 종류의 일에 color-theme을 사용하는 것이 가장 쉽다는 것을 알았습니다. 당신이 그렇게 문제가되는 텍스트 위로 커서를하지 않으려면

https://www.emacswiki.org/emacs/ColorThemes

는하지만, M-x customize-face을했다. 커서가 놓여있는 얼굴을 기본값으로 사용해야합니다.

http://www.gnu.org/software/emacs/manual/html_node/emacs/Specific-Customization.html

+0

좋은 [색상 테마] (https://github.com/bmarcot/color- 테마 - pomgranate - 폭발). – Benoit

+0

문제는, 단순히 읽을 수없는 색상들 중 하나입니다. (검은 색 바탕에 사실상 보이지 않는 진한 파란색)은'M-x customize-face'를 입력했을 때 표시되는 텍스트입니다. (또한, ColorTheme 링크에 문제가있는 것으로 보입니다.) – Michael

+0

글쎄, 나는 링크 된 것을 고치려고했지만,이 페이지에서 계속되면 * 여전히 * 작동하지 않습니다 !!! – Michael

25

2 가지 방법 - 당신은 좋은 계획 많이 선택하는 손으로 그것을 할 쉽게 패키지 색상 테마를 설치할 수 있습니다. 바이 손

등 등

또한 입력 할 수 있습니다

(custom-set-faces 
    custom-set-faces was added by Custom. 
    If you edit it by hand, you could mess it up, so be careful. 
    Your init file should contain only one such instance. 
    If there is more than one, they won't work right. 
    '(default ((t (:inherit nil :stipple nil :background "lightyellow2" :foreground "gray20" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight bold :width normal :family "liberation mono")))) 
    '(background "blue") 
    '(font-lock-builtin-face ((((class color) (background dark)) (:foreground "Turquoise")))) 
    '(font-lock-comment-face ((t (:foreground "MediumAquamarine")))) 
    '(font-lock-constant-face ((((class color) (background dark)) (:bold t :foreground "DarkOrchid")))) 
    '(font-lock-doc-string-face ((t (:foreground "green2")))) 
    '(font-lock-function-name-face ((t (:foreground "SkyBlue")))) 
    '(font-lock-keyword-face ((t (:bold t :foreground "CornflowerBlue")))) 
    '(font-lock-preprocessor-face ((t (:italic nil :foreground "CornFlowerBlue")))) 
    '(font-lock-reference-face ((t (:foreground "DodgerBlue")))) 
    '(font-lock-string-face ((t (:foreground "LimeGreen")))) 

(당신의 이맥스에서) 다음과 같습니다

`M-x customize-face RET` 

을 줄 것이다 설정할 모든 사용자 정의가 궁극적으로 .emacs로 끝납니다.

14

커서를 변경할 얼굴 ("색")에 놓습니다. C-u C-x =을 누르십시오. 그러면 그 위치에 어떤 얼굴이 있는지 알려주고 클릭하면 얼굴을 사용자 정의 할 수 있습니다. 사용자 지정 내용을 저장하십시오.

+0

커스텀 화 화면에 내가 입력해야 할 내용이 무엇인지 알지 못합니다.우선, 중요한 것들 중 일부는 제가 읽을 수없는 글자 색으로되어 있습니다 (이것이 제가 처음에 고치려고하는 것입니다!). 둘째, 색상이나 방법에 대한 명확한 언급이 보이지 않습니다. 그들을 바꾸기 위해서. – Michael

+0

@Michael : Customize에서 텍스트를 읽을 수 없다면 처녀의 이맥스 세션에서 사용하십시오 :'Emacs -Q'를 사용하여 이맥스를 시작하십시오. 텍스트를 읽을 수 있다면 커스터마이징 할 얼굴을 정의하는 데 현재 사용되는 속성에 대한 체크 박스를 볼 수 있어야합니다. '모든 속성 표시'링크를 클릭하여 모든 속성을 표시하십시오. 필요에 따라 속성을 선택하거나 선택 취소하십시오. 상자를 체크하면 현재 값이 표시됩니다. 속성'Background' 또는'Foreground'가 체크되면 현재 값 옆의'Choose' 버튼을 사용하여 그 속성에 다른 색을 선택할 수 있습니다. – Drew

2

색상 강조 표시에 전혀 신경 쓰지 않거나 위의 답변 중 아무 것도 작동하지 않는 경우 (또는 너무 많은 시간과 노력이 필요함) 색상을 제거하는 매우 간단한 해결책이 있습니다. 전부.

은 다음 색상을 제거합니다 입력 : 당신은 또한 당신이 실제로 모두에게 위의 답변 중 하나를 시도하는 화면을 볼 수 있도록하기위한 중간 단계로이 작업을 수행 할 수 있습니다

M-x global-font-lock-mode

. 필자의 경우 이것은 색을 바꿀 수있는 텍스트의 특정 핵심 부분의 색이 거의 보이지 않기 때문에 매우 유용했습니다. 예를 들어 M-x의 프롬프트가 그랬습니다. 당신은 변화가 영구적하려면

, 당신은 당신의 .emacs 파일에 추가 할 수있다 :

(setq-default global-font-lock-mode nil)