Emacs 24.3 в OS X без цветов

У меня установлен Emacs 24.3 с помощью homebrew (установил его с --cocoa и --srgb). Всякий раз, когда я запускаю emacs.app, а затем запускаю ansi-term, он не имеет цветов. Однако, когда я делаю emacs -q и запускаю приложение, ansi-term имеет цвета.

Поэтому я подумал, что, возможно, в моем файле init.el что-то не так. Я все закомментировал, все равно анси-терм не работает с цветами.

Самое странное во всем этом то, что когда все в моем init.el включено, когда я делаю emacs -nw, а затем делаю там ansi-term (я знаю, запутанно, но я пытаюсь это проверить), он отлично работает со всеми темы и все надстройки запущены. Это так странно, что я даже не знаю, с чего начать.

Кажется, когда приложение работает, оно не использует настройки в моем bash_profile. Почему я это говорю? Потому что, когда ansi-term работал нормально (с emacs -nw), он сказал следующее: bash: _powerline_prompt: command not found, что означает, что он пытался загрузить линию питания, которую я установил для своего терминала, и не знал, что с ней делать. Я просто отключил линию электропередач, чтобы увидеть, был ли он виновником, и даже это не решило проблему.

Однако, когда у ansi-term нет цветов, он не выводит эту строку.

Так кто-нибудь имеет представление о том, что, черт возьми, происходит? (Возможно, в homebrew emacs.app используется другой .bash_profile?)

Вот мой init.el с отключенными внешними пакетами, поэтому все, что в нем, было установлено автоматически emacs и пакетами:

;; emacs customizations (automatic)
(custom-set-variables
 ;; custom-set-variables 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.
 '(TeX-command-list (quote (("TeX" "%(PDF)%(tex) %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (plain-tex-mode texinfo-mode ams-tex-mode) :help "Run plain TeX") ("LaTeX" "%`%l%(mode)%' %t" TeX-run-TeX nil (latex-mode doctex-mode) :help "Run LaTeX") ("Makeinfo" "makeinfo %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with Info output") ("Makeinfo HTML" "makeinfo --html %t" TeX-run-compile nil (texinfo-mode) :help "Run Makeinfo with HTML output") ("AmSTeX" "%(PDF)amstex %`%S%(PDFout)%(mode)%' %t" TeX-run-TeX nil (ams-tex-mode) :help "Run AMSTeX") ("ConTeXt" "texexec --once --texutil %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt once") ("ConTeXt Full" "texexec %(execopts)%t" TeX-run-TeX nil (context-mode) :help "Run ConTeXt until completion") ("BibTeX" "bibtex %s" TeX-run-BibTeX nil t :help "Run BibTeX") ("Biber" "biber %s" TeX-run-Biber nil t :help "Run Biber") ("View" "open -a Preview.app %s.pdf" TeX-run-discard-or-function t t :help "Run Viewer") ("Print" "%p" TeX-run-command t t :help "Print the file") ("Queue" "%q" TeX-run-background nil t :help "View the printer queue" :visible TeX-queue-command) ("File" "%(o?)dvips %d -o %f " TeX-run-command t t :help "Generate PostScript file") ("Index" "makeindex %s" TeX-run-command nil t :help "Create index file") ("Check" "lacheck %s" TeX-run-compile nil (latex-mode) :help "Check LaTeX file for correctness") ("Spell" "(TeX-ispell-document \"\")" TeX-run-function nil t :help "Spell-check the document") ("Clean" "TeX-clean" TeX-run-function nil t :help "Delete generated intermediate files") ("Clean All" "(TeX-clean t)" TeX-run-function nil t :help "Delete generated intermediate and output files") ("Other" "" TeX-run-command t t :help "Run an arbitrary command"))))
 '(ansi-color-faces-vector [default bold shadow italic underline bold bold-italic bold])
 '(ansi-color-names-vector ["#fdf6e3" "#dc322f" "#859900" "#b58900" "#268bd2" "#d33682" "#2aa198" "#657b83"])
 '(ansi-term-color-vector [unspecified "#1F1611" "#660000" "#144212" "#EFC232" "#5798AE" "#BE73FD" "#93C1BC" "#E6E1DC"])
 '(compilation-message-face (quote default))
 '(custom-safe-themes (quote ("e16a771a13a202ee6e276d06098bc77f008b73bbac4d526f160faa2d76c1dd0e" "bbd99b10462e3d0f4ac6da09e23e5de1fed4f7fe87d679a6468a14b0b6c8e634" "77bd459212c0176bdf63c1904c4ba20fce015f730f0343776a1a14432de80990" "ccba14aeee25adc49effe868f1820dfbf28b557353e4f69ca55de50642caf63f" "a30d5f217d1a697f6d355817ac344d906bb0aae3e888d7abaa7595d5a4b7e2e3" "290987f8b1cbe93977fc21403c1e9bdc95013cb0cf29d0f6120768463ee61442" "0d19ff470ad7029d2e1528b3472ca2d58d0182e279b9ab8acd65e2508845d2b6" "9a217ee1dcefd5e83f78381c61e25e9c4d25c7b80bf032f44d7d62ca68c6a384" "96efbabfb6516f7375cdf85e7781fe7b7249b6e8114676d65337a1ffe78b78d9" "c1fb68aa00235766461c7e31ecfc759aa2dd905899ae6d95097061faeb72f9ee" "7feeed063855b06836e0262f77f5c6d3f415159a98a9676d549bfeb6c49637c4" "c739f435660ca9d9e77312cbb878d5d7fd31e386a7758c982fa54a49ffd47f6e" "fc2782b33667eb932e4ffe9dac475f898bf7c656f8ba60e2276704fabb7fa63b" "ca229a0a89717c8a6fe5cd580ee2a85536fbafce6acb107d33cf38d52e2f492c" "5bd5af0deb1ab0e2c1b9c54d94a3f030529b6c7034fdf0d3cc4b0e7e0338cb91" "c27b3d858a9c033b93f9447337659d3ba34a72251b794e8bfe792ed722cc1f67" "2affb26fb9a1b9325f05f4233d08ccbba7ec6e0c99c64681895219f964aac7af" "65ae93029a583d69a3781b26044601e85e2d32be8f525988e196ba2cb644ce6a" "c4e6fe8f5728a5d5fd0e92538f68c3b4e8b218bcfb5e07d8afff8731cc5f3df0" "758da0cfc4ecb8447acb866fb3988f4a41cf2b8f9ca28de9b21d9a68ae61b181" "5bee853b49605401494a6574d1c5a991a0d75e86fedf5ad9a1577de6cbba7691" "f0ea6118d1414b24c2e4babdc8e252707727e7b4ff2e791129f240a2b3093e32" "9370aeac615012366188359cb05011aea721c73e1cb194798bc18576025cabeb" "0e121ff9bef6937edad8dfcff7d88ac9219b5b4f1570fd1702e546a80dba0832" "968d1ad07c38d02d2e5debffc5638332696ac41af7974ade6f95841359ed73e3" "d070fa185078bf753dcfd873ec63be19fa36a55a0c97dc66848a6d20c5fffdad" "d677ef584c6dfc0697901a44b885cc18e206f05114c8a3b7fde674fce6180879" "8aebf25556399b58091e533e455dd50a6a9cba958cc4ebb0aab175863c25b9a4" "92653253cdebc448ad0b8b2ba08c6bd87c8af5d8d1c346f86fb4029a1f46a716" default)))
 '(fci-rule-character-color "#452E2E")
 '(fci-rule-color "#eee8d5")
 '(fringe-mode 6 nil (fringe))
 '(highlight-changes-colors (quote ("#d33682" "#6c71c4")))
 '(highlight-tail-colors (quote (("#eee8d5" . 0) ("#B4C342" . 20) ("#69CABF" . 30) ("#69B7F0" . 50) ("#DEB542" . 60) ("#F2804F" . 70) ("#F771AC" . 85) ("#eee8d5" . 100))))
 '(linum-format " %7d ")
 '(magit-diff-use-overlays nil)
 '(main-line-color1 "#191919")
 '(main-line-color2 "#111111")
 '(package-archives (quote (("gnu" . "http://elpa.gnu.org/packages/") ("melpa" . "http://melpa.milkbox.net/packages/"))))
 '(syslog-debug-face (quote ((t :background unspecified :foreground "#2aa198" :weight bold))))
 '(syslog-error-face (quote ((t :background unspecified :foreground "#dc322f" :weight bold))))
 '(syslog-hour-face (quote ((t :background unspecified :foreground "#859900"))))
 '(syslog-info-face (quote ((t :background unspecified :foreground "#268bd2" :weight bold))))
 '(syslog-ip-face (quote ((t :background unspecified :foreground "#b58900"))))
 '(syslog-su-face (quote ((t :background unspecified :foreground "#d33682"))))
 '(syslog-warn-face (quote ((t :background unspecified :foreground "#cb4b16" :weight bold))))
 '(vc-annotate-background nil)
 '(vc-annotate-color-map (quote ((20 . "#dc322f") (40 . "#CF4F1F") (60 . "#C26C0F") (80 . "#b58900") (100 . "#AB8C00") (120 . "#A18F00") (140 . "#989200") (160 . "#8E9500") (180 . "#859900") (200 . "#729A1E") (220 . "#609C3C") (240 . "#4E9D5B") (260 . "#3C9F79") (280 . "#2aa198") (300 . "#299BA6") (320 . "#2896B5") (340 . "#2790C3") (360 . "#268bd2"))))
 '(vc-annotate-very-old-color nil)
 '(weechat-color-list (quote (unspecified "#fdf6e3" "#eee8d5" "#990A1B" "#dc322f" "#546E00" "#859900" "#7B6000" "#b58900" "#00629D" "#268bd2" "#93115C" "#d33682" "#00736F" "#2aa198" "#657b83" "#839496"))))
(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.
 )

person nico_c    schedule 23.01.2014    source источник
comment
Возможно, попробуйте поместить курсор на символ в окне ansi-term, который, как вы знаете, должен иметь цвета, но не имеет, и введите: C-u C-x = и посмотрите, какие лица используются в этом конкретном месте (если есть). Вместо использования Homebrew рассмотрите возможность использования: emacsformacosx.com — таким образом все, что касается Emacs, упаковано в одно приложение. вместо того, чтобы быть разбросанными по всему жесткому диску, единственным другим местом, о котором стоит беспокоиться, будет ваш .emacs.d.   -  person lawlist    schedule 23.01.2014
comment
@lawlist Спасибо. C-u C-x = продолжал возвращаться к подсказке и не отображал информацию о лицах. Вы правы насчет использования emacsformacosx.com. Я просто подумал, что с помощью Homebrew будет легко обновиться. Пытаюсь избавить себя от боли, но, кажется, я добавляю к ней больше. :-)   -  person nico_c    schedule 24.01.2014


Ответы (2)


Это может быть хак, но я решил проблему, скопировав свой .bash_profile в .bashrc (так что у меня есть и .bash_profile, и .bashrc).

Если я запускаю Emacs.app из Terminal.app, он читает мой файл .bash_profile. И когда я запускаю его, щелкнув значок Emacs в папке «Приложения», он читает мой файл .bashrc. Я не знаю, нормальное это поведение или нет, но для моих целей он работает отлично, так как я удалил линию питания от .bashrc, чтобы ansi-term не продолжал выдавать ошибки по этому поводу.

В общем, очень простое исправление, которое, я надеюсь, будет полезно другим.

person nico_c    schedule 23.01.2014
comment
Я рад, что вам удалось это исправить, поздравляю! Почему бы не принять это как ответ? - person ; 24.01.2014
comment
@IqbalAnsari Я могу принять свой ответ через 24 часа после публикации. Еще есть немного времени, прежде чем я смогу это сделать :-) - person nico_c; 24.01.2014

Кажется, когда приложение запущено, оно не использует настройки в моем профиле bash_profile.

Я считаю, что это проблема, кажется, что emacs при запуске как приложение (т.е. не из оболочки) не подбирает правильный PATH. Это объясняет, почему ansi-term имеет цвета, когда emacs запускается из оболочки (я делаю разумное предположение, что вы запускали emacs -q и emacs -nw из оболочки :)).

См. это для возможного решения. Вы также можете найти эту информацию полезной.

person Community    schedule 23.01.2014
comment
Пробовал это. Это не решает проблему. Я пока переключаюсь на запуск emacs с терминала, пока кто-нибудь не предложит решение. Тем временем я попробовал код отсюда: paste.lisp.org/display/132476 сохранил его в файл и загрузил в свой init.el. Вызвал функцию вот так (setenv-from-shell-environment) Вы знаете, как на самом деле это использовать? Как видите, я новичок в emacs и lisp. И у меня серьезно сейчас есть emacs на мизинце... - person nico_c; 24.01.2014
comment
Вы правильно используете функцию (setenv-from-shell-environment). Он просто получает переменные среды из вашей оболочки и устанавливает их в emacs. - person ; 24.01.2014