LINUX.ORG.RU

emacs


0

0

Помогите пожалуйста осилить подсветку синтаксиса в сабже. В vim она по дефолту у меня есть, а тут... нету.

★★★★★

Вообще говоря должна быть. В принципе, если режим не загрузился автоматически, то можно вручную его загрузить, для сей, к примеру, - M-x c-mode, для шелла - M-x sh-mode итд. Но по хорошему для файла с правильным расширением должен сразу загружаться правильный режим.

Laz ★★★★★
()
Ответ на: комментарий от Laz

+ Некоторые "моды" могут идти отдельным пакетом, например для python или haskell

anonymous
()

Выполни `M-x font-lock-mode RET`.

Вообще такого не должно быть. Видимо, карма плохая (неудивительно, что ты `vim(1)` используешь).

Sphinx ★★☆☆
()
Ответ на: комментарий от Laz

Сейчас покажу два скрина. Оно пишет что вроде как распознало sh, а подсвечивать не хочет. Запускаю emacs -nw play.sh, вижу:

http://img232.imageshack.us/img232/1659/spapshot21yi1.png

Запускаю vim play.sh, вижу:

http://img219.imageshack.us/img219/5341/spapshot22na2.png

Мож я реально делаю что-то не так, или к емаксу ключики какие нужны... Или просто у меня не так собраный емакс :D не знаю.

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

и еще это.. по-русски ничего писать не получается в емаксе. только напишешь русскую букву - коверкаются все символы совершенно непонятным образом. может ему не нравится, что у меня юникод? как его подружить с моей локалью? или мож пересобрать?

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

Может у тебя Emacs древний? Проблемы совершенно нереальные имхо.

Sphinx ★★☆☆
()
Ответ на: комментарий от Komintern

Зайди в настройки: `M-x customize-option RET font-lock-global-modes RET`, там поставь на «all».

Sphinx ★★☆☆
()
Ответ на: комментарий от Komintern

> может ему не нравится, что у меня юникод?

если у тебя vim поддерживал юникод, то emacs тоже должен

> или мож пересобрать?

Да, лучше пересобери из cvs/tla. ,)

anonymous
()

в виме по умолчанию нет подсветки.

xio
()

а еще в виме тебе не мешало бы поставить 'set background=dark' :)

xio
()
Ответ на: комментарий от Komintern

>и еще это.. по-русски ничего писать не получается в емаксе. только напишешь русскую букву - коверкаются все символы совершенно непонятным образом. может ему не нравится, что у меня юникод? как его подружить с моей локалью? или мож пересобрать?

Действительно похоже на древнюю версию. Такие проблемы были может быть года два назад, в последних версиях такого точно не наблюдается, всё работает искаропки.

Laz ★★★★★
()
Ответ на: комментарий от Laz

komintern@komintern:~$ ls /var/log/packages/ | grep emacs
emacs-21.4a-i486-4
emacs-info-21.4a-noarch-1
emacs-leim-21.4-noarch-1
emacs-lisp-21.4a-noarch-1
emacs-misc-21.4a-noarch-1
emacs-nox-21.4a-i486-3


это старый или нет? я не знаю.

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

> это старый или нет? я не знаю.

Это просто пипец какой старый. Надо ставить 22. Для 22 вот так у меня настроено:

~ % cat .emacs.d/init/init-i18n.el

;;; set up multi-lingual environment for using UTF-8
(set-language-environment 'UTF-8)

;;; set coding system of terminal output to utf-8
(set-terminal-coding-system 'utf-8)

;;; set coding system for keyboard input to UTF-8
(set-keyboard-coding-system 'utf-8)

;;; data type request for X selection
(setq x-select-request-type '(UTF8_STRING COMPOUND_TEXT TEXT STRING))

;;; support cp866 and cp1251
(codepage-setup 1251)
(define-coding-system-alias 'windows-1251 'cp1251)
(codepage-setup 866)

;;; autodetect coding system.
(prefer-coding-system 'cp866)
(prefer-coding-system 'koi8-r-unix)
(prefer-coding-system 'windows-1251-dos)
(prefer-coding-system 'utf-8-unix)

;;; default input method for multilingual text
(setq default-input-method 'cyrillic-translit)

Функции переключения:

(defun input-method-to-cyr ()
  "Change input method to Cyrillic."
  (interactive)
  (cond ((string= current-input-method nil)
          (toggle-input-method))))

(defun input-method-to-nil ()
  "Change input method to nil (generally to English)."
  (interactive)
  (cond ((string= current-input-method "cyrillic-translit")
         (toggle-input-method))))

Связывание с хоткеями:

(global-set-key (kbd "C-9")         #'input-method-to-nil)
(global-set-key (kbd "C-0")         #'input-method-to-cyr)

// :(

anonymous
()
Ответ на: комментарий от anonymous

> (set-language-environment 'UTF-8)

последний раз когда я ставил 22, unicode работал из коробки и кодировка бралась из locale(1)

> (defun input-method-to-cyr ()

Это для не осилившых `M-1 C-\' ?

anonymous
()
Ответ на: комментарий от Komintern

в CVS вроде 23 потихоньку пилится..

anonymous
()
Ответ на: комментарий от anonymous

emacs-22, попробовал с твоим конфигом. UTF-8 работает как-то странно: emacs-22 NOTES (файл с русскими буквами в UTF-8) кажет квадратики, если пытаюсь делать новый файл, переключаться гномовской переключалкой -- тоже квадратики, потом пытаюсь делать *.c или *.cc файл, русский показывает, набирается нормально . emacs собран с USE gtk leim nls, в меню есть mule.

Куда копать чтобы по умолчанию вместо квадратиков русские буквы были? Как сделать что-то вроде :e ++enc=utf-8 NOTES в vim?

anonymous
()
Ответ на: комментарий от anonymous

> Куда копать чтобы по умолчанию вместо квадратиков русские буквы были?

Вот даже и не знаю. Может при сборке вы какие опции забыли, может надо что-то дополнительно подгружать. В бубунте/дебиане приведенных строк хватает. Попробуйте загрузить библиотеки, связанные с i18n. Что-нибудь вроде (require 'mule).

// :(

anonymous
()

мне он когда открываешь emacs -nw <файл> выдает вот-это, и только после C-l можно редактировать. как это отключить?


Welcome to GNU Emacs, one component of the GNU/Linux operating system.

Type C-l to begin editing your file.

Get help           C-h  (Hold down CTRL and press h)
Emacs manual       C-h r
Emacs tutorial     C-h t           Undo changes     C-x u
Buy manuals        C-h C-m         Exit Emacs       C-x C-c
Browse manuals     C-h i
Activate menubar   F10  or  ESC `  or   M-`
(`C-' means use the CTRL key.  `M-' means use the Meta (or Alt) key.
If you have no Meta key, you may instead type ESC followed by the character.)

GNU Emacs 22.1.1 (i686-pc-linux-gnu, X toolkit, Xaw3d scroll bars)
 of 2008-04-04 on komintern
Copyright (C) 2007 Free Software Foundation, Inc.

GNU Emacs comes with ABSOLUTELY NO WARRANTY; type C-h C-w for full details.
Emacs is Free Software--Free as in Freedom--so you can redistribute copies
of Emacs and modify it; type C-h C-c to see the conditions.
Type C-h C-d for information on getting the latest version.

If an Emacs session crashed recently, type Meta-x recover-session RET
to recover the files you were editing.

Komintern ★★★★★
() автор топика
Ответ на: комментарий от Komintern

M-x customize-option <RET> inhibit-startup-screen <RET>
жмешь по `Toggle' чтобы выключить, потом по `State' и нажимаешь `1' чтобы изменения вступили в силу сразу и изменения записались в .emacs для последующих запусков.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.