Конфигурация (x)emacs (вопросы и обмен полезностями)

Модератор: /dev/random

Аватара пользователя
JaGoTerr
Сообщения: 380

Конфигурация (x)emacs

Сообщение JaGoTerr » 19.10.2005 17:50

Господа. Есть такое дело. Предлагаю начать тему обмена полезностями для (x)emacs. Мне кажется это будет полезно многим.

Почему я создал эту тему... Честное благородное слово, я искал. Искал, но не нашёл как русифицировать xemacs. То, что я нашёл - не работает. Видимо это устаревшие руководства. И я не думаю, что будет оптимально искать почему это не стработало. имхо, можно поступить проще - господа, использующие xemacs ветки 21.* (у меня 21.4.17). Просто поделитесь конфигами. Пожалуйста. Просто это оптимальнее в том плане, что помимо решения этой глупой проблемы заодно и поможете (не только мне) в начальном освоении этого монстра.

ЗЫ: Наскучил мне вим, захотелось покопать и его конкурента, авось понравится.
Спасибо сказали:

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Конфигурация (x)emacs

Сообщение t.t » 19.10.2005 18:06

ЗЫ: Наскучил мне вим, захотелось покопать и его конкурента, авось понравится.
Прикольно. А я вот не один год просидел в emacs'е, а как раз недавно окончательно уразумел, что в иксовом исполнении он меня не прёт и начал посматривать в сторону gvim'а :)

Сейчас xemacs поставлю -- гляну, как у меня там с русским, а то так не помню.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

Аватара пользователя
cubique
Сообщения: 25
ОС: mac os x 10.5.2 on mb

Re: Конфигурация (x)emacs

Сообщение cubique » 19.10.2005 18:18

JaGoTerr писал(а):
19.10.2005 17:50
...Честное благородное слово, я искал. Искал, но не нашёл как русифицировать xemacs. То, что я нашёл - не работает. Видимо это устаревшие руководства...


возможно эти линки вам уже известны, но в своё время мне помогло...

http://www.emacswiki.org/cgi-bin/emacs-ru/...csRussification - для Xemacs

http://www.emacswiki.org/cgi-bin/emacs-ru/...csRussification - для Emacs
Спасибо сказали:

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Конфигурация (x)emacs

Сообщение t.t » 19.10.2005 18:25

Проверил -- работает. У меня Xemacs 21.4.17-1, так что думаю и у тебя должно заработать. Нужные строки, кстати, мне в конфиг вписал language-env.

На всякий решил выложить весь конфиг -- он не такой уж большой, остальное, видимо, утеряно в веках.

Код: Выделить всё

(custom-set-variables
 '(backward-delete-char-untabify-method (quote untabify))
 '(case-fold-search t)
 '(current-language-environment "Cyrillic-KOI8")
 '(default-input-method "cyrillic-jcuken")
 '(global-font-lock-mode t nil (font-lock))
 '(save-place t nil (saveplace))
 '(show-paren-mode t nil (paren))
 '(standard-indent 5))

(setq scroll-conservatively 1000)  ; протяжка текста "по одной строке"
(setq display-time-24hr-format t)  ; время в 24-часовом формате
(setq ispell-dictionary "russian") ; русский словарь для ispell
(setq default-justification "full"); выравнивание текста по обоим краям
;; предложения заканчиваются одним, а не двумя пробелами
(setq sentence-end-double-space nil)
(setq sentence-end "[.?!][]\"')}]*\\($\\| $\\|\t\\| \\)[\t\n]*")
(column-number-mode 1)             ; включить отображение номера столбца
(display-time)                     ; показывать время
;; открывать файлы *.txt в досовской кодировке
(modify-coding-system-alist 'file "\\.txt\\'" 'cyrillic-alternativnyj)
;; в режиме enriched включить: автозаполнение,
(add-hook 'enriched-mode-hook 'turn-on-auto-fill)
;; проверку орфографии "на ходу"
(add-hook 'enriched-mode-hook '(lambda () (flyspell-mode 1)))

;; загрузить модуль отображения форул в Максиме картинками
(autoload 'imaxima "imaxima" "Image support for Maxima." t)

;; несколько клавиатурных сокращений:
(global-set-key [C-right] 'forward-word); курсор на слово влево-вправо
(global-set-key [C-left] 'backward-word)

(global-set-key "\C-c\C-f" 'auto-fill-mode); вкл/выкл автозаполнения
(global-set-key "\C-c\C-s" 'flyspell-mode); вкл/выкл проверки орфографии "на ходу"
(global-set-key "\C-c\C-b" 'ispell-buffer); проверить орфографию в текущем буфере
(global-set-key "\M-s" 'display-time-mode); вкл/выкл часы
; ---- language-env DON'T MODIFY THIS LINE!
;; Some macros.
(defmacro GNUEmacs (&rest x)
    (list 'if (string-match "GNU Emacs 20" (version)) (cons 'progn x)))
(defmacro XEmacs (&rest x)
    (list 'if (string-match "XEmacs 21" (version)) (cons 'progn x)))

;; More information with the info file (Control-h i)
;; Russification
(XEmacs
    (set-language-environment "Cyrillic-KOI8")
    (select-input-method "cyrillic-jcuken"); This input method in not included
                                           ; in 2000.01.24-1 version of
                                           ; mulesupport, but i've bugreported it.
                                           ; it whould work with next version. Until
                                           ; this xemacs is not
                                           ; rusificationable.;-)
)
(GNUEmacs
    (set-language-environment "Cyrillic-KOI8")
    (set-terminal-coding-system 'koi8-r)
)
; ---- language-env end DON'T MODIFY THIS LINE!

Собственно, по твоей проблеме -- это тот кусок, который добавил languange-env плюс две строки в начала со словом cyrillic -- они делают русскую кодировку и раскладку клавиатуры умолчальными.
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Конфигурация (x)emacs

Сообщение JaGoTerr » 19.10.2005 18:45

хм... сработало :)
но эти ссылки мне не попадались. Мягко говоря странно. Проглядел наверное.
Спасибо большое. Заработало.
Правда есть один вопросик: написано положить ru-keys.el "в какое-нибудь место, указанное в переменной `load-path'". А это куда? (Я временно поступил "по-тупому" - всё содержимое файла загнал в init.el).

Я так понимаю у меня пакет собранный мез mule, так что у меня немного всё иначе
Спасибо сказали:

Аватара пользователя
t.t
Бывший модератор
Сообщения: 7390
Статус: думающий о вечном
ОС: Debian, LMDE

Re: Конфигурация (x)emacs

Сообщение t.t » 19.10.2005 18:49

Я так понимаю у меня пакет собранный мез mule, так что у меня немного всё иначе
Я так понимаю, это мне. Да, у меня он всю жизнь был с mule, так что я просто не подумал, что бывает без :)
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

Аватара пользователя
cubique
Сообщения: 25
ОС: mac os x 10.5.2 on mb

Re: Конфигурация (x)emacs

Сообщение cubique » 19.10.2005 19:08

JaGoTerr писал(а):
19.10.2005 18:45
...Правда есть один вопросик: написано положить ru-keys.el "в какое-нибудь место, указанное в переменной `load-path'". А это куда? (Я временно поступил "по-тупому" - всё содержимое файла загнал в init.el)...


Если я ещё ничего не забыл, то load-path в emacs (xemacs не пользовался) - это папка, откуда (x)emacs при старте загружает нужные расширения прописанные в основном конфигурационном файле. У меня это была ~/emacs-lisp (можно обозвать как угодно).

update

нашёл свой старый конфиг...

Код: Выделить всё

;; External path search
(setq load-path (cons "~/emacs-lisp" load-path))


а потом:

Код: Выделить всё

(require 'название нужного *.el файла)
Спасибо сказали:

Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Конфигурация (x)emacs

Сообщение JaGoTerr » 19.10.2005 19:09

2 cubique:
Спасибо ещё раз.
Спасибо сказали:

Аватара пользователя
cubique
Сообщения: 25
ОС: mac os x 10.5.2 on mb

Re: Конфигурация (x)emacs

Сообщение cubique » 19.10.2005 19:19

JaGoTerr писал(а):
19.10.2005 19:09
2 cubique:
Спасибо ещё раз.


всегда пожалуйста :)

update

по поводу полезностей:

http://www.damtp.cam.ac.uk/user/sje30/emacs/ell.html - большое кол-во разных расширеий.

http://www.splode.com/~friedman/software/e...lisp/index.html - ещё одна линка с расширениями.

http://www.cs.cmu.edu/~maverick/GNUEmacsCo...st/index-c.html - цветовые гаммы с наглядными примерами.
Спасибо сказали:

Аватара пользователя
LXj
Сообщения: 94

Re: Конфигурация (x)emacs

Сообщение LXj » 28.03.2006 14:09

Господа админы, пошто вы так дискриминируете пользователей emacs? Прикрепите эту тему, пожалуйста!

По поводу русификации -- как у меня получилось русифицировать emacs под utf-8 на Gentoo я описал здесь: http://ru.gentoo-wiki.com/HOWTO_Emacs_и_utf8

А как бы настроить проверку орфографии, чтобы проверялся и русский, и английский?
Спасибо сказали:

Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Конфигурация (x)emacs

Сообщение edoc_modnar » 30.07.2007 05:32

Про сокращения/snippets: http://edoc-modnar.blogspot.com/2007/07/snippets.html
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 30.07.2007 10:57

random_code писал(а):
30.07.2007 05:32
Про сокращения/snippets: http://edoc-modnar.blogspot.com/2007/07/snippets.html


там есть такая строчка "...Теперь сохраняйте буфер, перезагружайте редактор, переходите в нужный режим и пробуйте..."
необязательно перегружать емакс после правки файла .emacs

можно либо сделать eval-region добавлений либо load-library RET ~/.emacs RET
Спасибо сказали:

Аватара пользователя
edoc_modnar
Бывший модератор
Сообщения: 1638
Статус: Форум больше не посещаю

Re: Конфигурация (x)emacs

Сообщение edoc_modnar » 30.07.2007 11:13

Спасибо, вы меня подтолкнули к опытам и вот что я выяснил: новое сокращение подхватывается скриптом на лету, не нужно никаких load-library и eval-region (:

Post fixed.
So long, and thanks for all the fish.
Douglas Adams, The Hitchhiker's Guide to the Galaxy
Спасибо сказали:

barton`ello
Сообщения: 57

Re: Конфигурация (x)emacs

Сообщение barton`ello » 03.09.2007 16:20

А никто не подскажет, как реализовать автодополнение слов при наборе по словарю? Как в oowriter или kate?
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 02.10.2007 14:36

Кто-нибудь пользуется словарями для переводов слов в Emacs?
Спасибо сказали:

Аватара пользователя
cubique
Сообщения: 25
ОС: mac os x 10.5.2 on mb

Re: Конфигурация (x)emacs

Сообщение cubique » 13.10.2007 22:24

Несколько прибамбасов для более удобной работы с текстом.

http://emacs-tips.blogspot.com/2007/10/blog-post.html
Спасибо сказали:

Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Конфигурация (x)emacs

Сообщение JaGoTerr » 23.10.2007 14:20

Вопрос краткий: можно ли сделать так, чтоб в emacs (локаль: UTF-8) комбинации клавиш (C-X, M-X и т.д.) работали при включённой русской раскладке (раскладка переключается средствами X-сервера, а не емакса). Если можно, то желательно кинуть в меня рецептом. Спасибо.
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 25.10.2007 11:25

где-то видел такой подход к решению данной задачи:
setxkbmap можно сказать чтобы он не менял раскладку у емакса
Спасибо сказали:

Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Конфигурация (x)emacs

Сообщение Voice » 01.11.2007 11:32

Кто как решает в emacs (v22) проблему отображения кириллических символов?
А то погугливши не нашел ничего толкового.
Локаль UTF-8.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:

Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Конфигурация (x)emacs

Сообщение JaGoTerr » 01.11.2007 16:56

Voice писал(а):
01.11.2007 11:32
Кто как решает в emacs (v22) проблему отображения кириллических символов?
А то погугливши не нашел ничего толкового.
Локаль UTF-8.

Шрифт выстави нормальный. В остальном всё работает из коробки.
Спасибо сказали:

Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Конфигурация (x)emacs

Сообщение Voice » 02.11.2007 10:39

JaGoTerr писал(а):
01.11.2007 16:56
wШрифт выстави нормальный. В остальном всё работает из коробки.

Уже пробовал по разному, и в командной строке ему шрифт задавать, и в меню MULE все облазил.
А как Вы это решили?
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 02.11.2007 18:17

так что за проблема со шрифтами?
поподробнее можно?
Спасибо сказали:

Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Конфигурация (x)emacs

Сообщение Voice » 03.11.2007 00:25

h1t писал(а):
02.11.2007 18:17
так что за проблема со шрифтами?
поподробнее можно?

Значит Debian, GNU Emacs 22.1.1.
При наборе кириллических символов печатает квадраты.
Пробовал с командной строки задавать шрифты по примерам из Интернета, -- тот же результат (хотя шрифт меняется).
Пробовал в меню Options -> Mule пошаманить, тоже не помогло. :(
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 06.11.2007 10:51

такое ощущение что в иксах не прописаны кириллические шрифты.
проблема с вводом русского текста только в Емаксе? другие иксовые приложения нормально его отображают?
Спасибо сказали:

Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Конфигурация (x)emacs

Сообщение Voice » 06.11.2007 15:02

h1t писал(а):
06.11.2007 10:51
такое ощущение что в иксах не прописаны кириллические шрифты.
проблема с вводом русского текста только в Емаксе? другие иксовые приложения нормально его отображают?

Да в остальных все отлично.
Локаль UTF-8
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:

Аватара пользователя
JaGoTerr
Сообщения: 380

Re: Конфигурация (x)emacs

Сообщение JaGoTerr » 06.11.2007 20:42

$ cat .Xresources | grep Emacs
Emacs*font:-xos4-terminus-medium-r-normal--20-*-*-*-*-*-iso8859-5
Спасибо сказали:

Аватара пользователя
Voice
Сообщения: 1073
Статус: столлманист
ОС: Debian GNU/Linux

Re: Конфигурация (x)emacs

Сообщение Voice » 06.11.2007 21:18

JaGoTerr писал(а):
06.11.2007 20:42
$ cat .Xresources | grep Emacs
Emacs*font:-xos4-terminus-medium-r-normal--20-*-*-*-*-*-iso8859-5

Спасибо. Добавил.
В emacs ничего не изменилось, в xemacs кирилица набирается, но быквы очччень мелкие, хотя с английские нормальные.
"И может собственных Платонов и быстрых разумом Невтонов российская земля рождать."
М. В. Ломоносов
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 07.11.2007 09:47

попробовал я вчера этот емакс-22.
жуткое зрелище :-)
по умолчанию он отображает кириллицу только для файлов с кодировкой koi8-r.
Есть причины использовать именно эту версию?
По-моему лучше использовать емакс из cvs ветки unicode-2
Раньше он назывался Emacs 23
как называется сейчас я не знаю
там юникод из коробки. Ничего не надо настраивать.
Можно выбрать любой шрифт.
Подробности здесь:
http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs
Пакеты есть и для дебиан и для генту. Я уже год с ним работаю и багов не замечал.
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 19.11.2007 19:24

автоматическое определение кодировки файла при открытии:
http://groups.google.ru/group/gnu.emacs.so...ede221a48d65a4c

Для работы требуется программа enca.
Она определяет кодировку по языку, переданному в параметре L
Т.е если мы знаем что в файле русский текст, то программа запускается так:
enca -L ru -m <имя файла>
Поэтому нужно немного изменить параметры процесса, запускаемого из елиспа
Строку с параметром "-m" нужно заменить на "-m" "-L" "ru"
Вместо "ru" можно подставить какую-нибудь переменную, которая определяла бы язык открываемого файла.
Спасибо сказали:

h1t
Сообщения: 44
ОС: Emacs 23.0.0

Re: Конфигурация (x)emacs

Сообщение h1t » 04.12.2007 10:56

Подсветка синтаксиса в неожиданных местах.
Наконец-то я нашел книгу Грэхема "On Lisp" в формате texi.
Начал читать ее в емаксе с помощью info.
Выяснилось что я не могу читать лисповский код без подсветки синтаксиса.
Пока нашел для себя такое вот решение: нашел значение переменной
font-lock-defaults в lisp-mode и вополнил его в буффере info.
Вот это выражение:

Код: Выделить всё

(setq font-lock-defaults
    '((lisp-font-lock-keywords
       lisp-font-lock-keywords-1 lisp-font-lock-keywords-2)
      nil nil (("+-*/.<>=!?$%_&~^:@" . "w")) nil
      (font-lock-mark-block-function . mark-defun)
      (font-lock-syntactic-face-function
       . lisp-font-lock-syntactic-face-function)))

Выключил и снова вклчюил font-lock-mode и документация
стала отображатся с нужной мне подсветкой.
Спасибо сказали: