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

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

nagual
Сообщения: 28
ОС: Linux root 2.6.18-gentoo-r2

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

Сообщение nagual » 12.12.2007 11:31

Извеняюсь, наверное, про emacs надо было здесь спрашивать. Так что повторюсь:

Задача такая:
1.побить окно на буферы, причём определённых размеров.
2.Разными цветами их.
3. И чтоб из одного буфера мог с помощью message или format(CLISP) выводить записи в указанное место буфера, ну так же и очищать буфер.
4. И обзывать буфера, как захочу, чтоб потом по именам обращатьсся.

Можно готовые решение либо указать, где копать :)
Спасибо сказали:

Аватара пользователя
Horrible
Сообщения: 256
Статус: Emacs geek
ОС: Emacs

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

Сообщение Horrible » 02.01.2008 00:07

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


Продублировать нужные комбинации с русскими символами? Муторно но работает.
Спасибо сказали:

LMZ
Сообщения: 25
ОС: debian etch

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

Сообщение LMZ » 26.01.2008 12:35

подскажите плз как сделать что бы отображались (цветом/точками/стрелками) пробелы и табы
Спасибо сказали:

Аватара пользователя
Horrible
Сообщения: 256
Статус: Emacs geek
ОС: Emacs

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

Сообщение Horrible » 26.01.2008 18:42

blank-mode это минорный режим для визуализации пробелов и табов
EmacsWiki: BlankMode
Спасибо сказали:

LMZ
Сообщения: 25
ОС: debian etch

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

Сообщение LMZ » 28.01.2008 14:46

ага! спасибо!
Спасибо сказали:

seb
Сообщения: 4
ОС: Debian testing/sid

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

Сообщение seb » 30.01.2008 17:37

GNU Emacs 22.1.1, debian testing, LANG=ru_RU.UTF-8

не работает поиск русского текста при его вводе через emacs'овскую переключалку ввода в файле в кодировке koi8-r может быть кто-то сталкивался, как починить ?

файла настроек нет, всё по умолчанию - в utf-8 файлах всё ищет как надо, отображается русский как надо (шрифт указан в .Xdefaults), кодировка koi8-r детектится при открытии автоматом, но не работает поиск русского в ней... причём, именно если вводить русский после переключения на русский помощью C-\ если переключать через X'ы то всё ищет как надо ! не могу понять в чём проблема...

пробовал

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

(set-language-info "Russian" 'coding-priority '(mule-utf-8 cyrillic-koi8 cyrillic-iso-8bit))
(set-language-info "Russian" 'coding-system 'mule-utf-8)
(set-language-environment "Russian")
не работает

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

(set-language-environment "Russian")
; UTF-8 для вывода на экран
(set-terminal-coding-system 'utf-8)
; UTF-8 для ввода с клавиатуры
(set-keyboard-coding-system 'utf-8)
; Необходима поддержка кодировок cp866 и cp1251
(codepage-setup 1251)
(define-coding-system-alias 'windows-1251 'cp1251)
(codepage-setup 866)
; Установки автоопределения кодировок
; prefer-coding-system помещает кодировку в НАЧАЛО списка предпочитаемых кодировок
; Поэтому в данном случае первой будет определяться utf-8-unix
(prefer-coding-system 'cp866)
(prefer-coding-system 'windows-1251-dos)
(prefer-coding-system 'koi8-r-unix)
(prefer-coding-system 'utf-8-unix)
; Клавиатурная раскладка "как в Windows" (не работает в emacs 21!)
(setq default-input-method 'russian-computer)
не работает

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

(set-language-environment "UTF-8")
; UTF-8 для вывода на экран
(set-terminal-coding-system 'utf-8)
; UTF-8 для ввода с клавиатуры
(set-keyboard-coding-system 'utf-8)
; Необходима поддержка кодировок cp866 и cp1251
(codepage-setup 1251)
(define-coding-system-alias 'windows-1251 'cp1251)
(codepage-setup 866)
; Установки автоопределения кодировок
; prefer-coding-system помещает кодировку в НАЧАЛО списка предпочитаемых кодировок
; Поэтому в данном случае первой будет определяться utf-8-unix
(prefer-coding-system 'cp866)
(prefer-coding-system 'windows-1251-dos)
(prefer-coding-system 'koi8-r-unix)
(prefer-coding-system 'utf-8-unix)
; Клавиатурная раскладка "как в Windows" (не работает в emacs 21!)
(setq default-input-method 'russian-computer)
не работает....

работает только в одно случае - если в init.el прописать только одну строчку:

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

(set-language-environment "Russian")

но у меня же локаль LANG=ru_RU.UTF-8 ! и соответственно все названия файлов, ввод/вывод процессов идут в кракозябрах.... ("Russian" настроена на локаль koi8-r как я понял...) помогите.... :(
Спасибо сказали:

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

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

Сообщение h1t » 31.01.2008 11:16

думаю проблема в переключении multybyte режима на однобайтовый при вызове toggle-input-method
а иксовая переключалка этот режим не меняет.
это только предположения, т.к. у меня нет емакса 22 и я ничего нем могу у себя проверить.
попробуй сделать так: убрать все строки в init.el, относящиеся к автоопределению кодировки.
после открытии koi8-r файла сделай

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

M-x revert-buffer-with-coding-system RET koi8-r RET yes RET

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

seb
Сообщения: 4
ОС: Debian testing/sid

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

Сообщение seb » 31.01.2008 14:24

h1t писал(а):
31.01.2008 11:16
попробуй сделать так: убрать все строки в init.el, относящиеся к автоопределению кодировки.
в 22 это имхо из коробки работает, тобишь у меня в init.el нет таких настроек, я пробовал запускать emacs -Q что бы он не загружал файли инициализации вообще - тоже самое...
h1t писал(а):
31.01.2008 11:16
после открытии koi8-r файла сделай

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

M-x revert-buffer-with-coding-system RET koi8-r RET yes RET

русский должен будет корректно отображаться.
не работает... пробовал и с emacs -Q русский определяется, редактируется, сохраняется но не ищется...

что интересно, попробовал кодировку винды cp1251 - всё прекрасно ! ищет ! а вот в koi8-r не работает... в emacs 21 всё прекрасно, но там не работает нужный мне мод... %) видимо начиная с emacs22 что-то сломали в таблицах каких то перекодировочных для koi8-r....
Спасибо сказали:

seb
Сообщения: 4
ОС: Debian testing/sid

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

Сообщение seb » 31.01.2008 16:16

победил ! нужно было сделать

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

(setq unify-8859-on-decoding-mode 't)
тогда емакс при открытии будет стараться если возможно конвертировать внутри себя в юникод, а не в iso-8859 (с которым не работал поиск) ! ура ! :)
Спасибо сказали:

Аватара пользователя
Amnesiac1989
Сообщения: 26
ОС: Debian Etch, Fedora 8

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

Сообщение Amnesiac1989 » 22.03.2008 13:36

всем здрасте!
после вима с его текстовыми командами емакс мне очень понравился но его оконная версия имхо просто ужасна
Скажите, можно ли при включенных иксах работать с емаксом в режиме терминала, и если можно, то как это сделать?
"I'm not afraid of being taken by computers though... because they're totally defenseless.
All we need is more people with hammers."
- Thom Yorke
Спасибо сказали:

Аватара пользователя
Horrible
Сообщения: 256
Статус: Emacs geek
ОС: Emacs

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

Сообщение Horrible » 22.03.2008 16:51

Прочитать краткую справку: emacs --help
Спасибо сказали:

Аватара пользователя
Amnesiac1989
Сообщения: 26
ОС: Debian Etch, Fedora 8

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

Сообщение Amnesiac1989 » 23.03.2008 21:17

Наверно эт мой последний вопрос)))
В режиме С++ Емакс автоматически формирует мне отступы в блоках кода только после того, как я наберу в этой строке ";", "<<" или что нибудь эдакое, а по умолчанию всё пишется без отступа.
Хотелось бы сделать как в vim или eclipse: чтобы необходимый отступ в коде вставлялся сразу, а не появлялся к концу набора строки... что надо писать в .emacs???
"I'm not afraid of being taken by computers though... because they're totally defenseless.
All we need is more people with hammers."
- Thom Yorke
Спасибо сказали:

Аватара пользователя
mannequin
Сообщения: 31
ОС: Slackware 12.1

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

Сообщение mannequin » 30.03.2008 10:48

Добрый день, кажется такого вопроса ещё не было. Хочется запустить внутри Emacs полноценный интерактивный терминал, а не просто указывать команду через 'M-x !'. И чтобы можно было переключаться на него как на обычный буфер. Возможно такое?
Спасибо сказали:

Аватара пользователя
SSDD
Сообщения: 157
ОС: linux

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

Сообщение SSDD » 30.03.2008 19:24

имею следующий трабл:
$ emacs22-gtk
No fonts match `Monospace-14'

$ cat .Xresources
Emacs*font: Monospace-14
$ emacs22-gtk --version
GNU Emacs 22.1.1

как исправить?

и еще вопрос, можно ли как-нть сделать буфер обмена общим для emacs и системы?
Спасибо сказали:

Аватара пользователя
Skladnoy
Сообщения: 90
ОС: Debian

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

Сообщение Skladnoy » 30.03.2008 20:20

mannequin
M-x shell

Amnesiac1989
Добавить в .emacs следующий код. Хуки для других языков добавлять по желанию

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

(defun my-ret-hook()
  "Make new lines indented"
  (local-set-key (kbd "RET") 'newline-and-indent)
  )

(add-hook 'c++-mode-hook        'my-ret-hook)
Спасибо сказали:

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

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

Сообщение h1t » 31.03.2008 16:45

xft шрифты есть unicode2 ветке
вроде бы эту ветку уже смержили с основной
так что эта фича появится только в следующих релизах

буфер обмена в ветке unicode2:
копирование в буфер обмена - clipboard-kill-ring-save
вствка из буфера - C-y
Спасибо сказали:

Аватара пользователя
SSDD
Сообщения: 157
ОС: linux

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

Сообщение SSDD » 01.04.2008 14:43

h1t писал(а):
31.03.2008 16:45
xft шрифты есть unicode2 ветке
вроде бы эту ветку уже смержили с основной
так что эта фича появится только в следующих релизах

буфер обмена в ветке unicode2:
копирование в буфер обмена - clipboard-kill-ring-save
вствка из буфера - C-y

да, спасибо... уже перешел на 23 из CVS

появились следующие вопросы:

1.(уже был выше, но остался без ответа), как налету менять кодировку(по хоткеям например), так чтобы после смены обновить текущий буфер в соответствующей кодировке?

2. как заменть perl-mod на cperl-mod при автоматическом определении для перловых файлов, и как менять цветовые схеммы для соответсвующих модов? (через .emacs)

P.S. спасибо за внимание
Спасибо сказали:

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

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

Сообщение h1t » 02.04.2008 12:59

SSDD писал(а):
01.04.2008 14:43
1.(уже был выше, но остался без ответа), как налету менять кодировку(по хоткеям например), так чтобы после смены обновить текущий буфер в соответствующей кодировке?

2. как заменть perl-mod на cperl-mod при автоматическом определении для перловых файлов, и как менять цветовые схеммы для соответсвующих модов? (через .emacs)

P.S. спасибо за внимание


кстати в январе в unicode2 ветке добавли 2 хорошие фичи:
копирование региона обновялет и иксовый буфер обмена
так что явно можно не вызывать clipboard-kill-ring-save
и цикл центр экрана вверх экрана и низ экрана при послдеовательном
нажитии C-l. Раньше эта комбинация только центрировала текущее
положение курсора

1. можно пользоваться программой enca. смотри мой топик выше.
либо
M-x revert-buffer-with-coding-system RET
по табу вывалятся все доступные кодировки

2. в .emacs добавь строчку

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

(add-to-list 'auto-mode-alist '("\\.\\([pP]\\([Llm]\\|erl\\|od\\)\\|al\\)\\'" . cperl-mode))

смена цвета делается через настройки face
ставишь курсор на нужный токен и
M-x customize-face RET
по умалчанию он покажет буффер настройки
фейса токена под курсором, но можно и любой другой выбрать
опять жмешь TAB и смотришь в буфере *Completions* все доступные фейсы

В буфере настройки есть кнопка State.
там можно выбрать сохранить настройку для текущей сессии (если потестить надо)
либо для будущих сессий. в этом случае емакс запишет новое значение в файлике .emacs
Спасибо сказали:

Аватара пользователя
SSDD
Сообщения: 157
ОС: linux

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

Сообщение SSDD » 14.04.2008 16:49

Еще образовался вопрос, какие есть для эмакса моды-генераторы отчетов, либо мод электронных таблиц с выводом в xml?
Хотелось бы сделать генератор HTML отчетов по указанному шаблону на основе заполненной таблицы в эмаксе. Первое что пришло в голову - найти какой-нть мод эл. таблиц с генерацией в XML, а дальше уже это XML преобразовывать через XSLT во что вздумается.
Спасибо сказали:

Аватара пользователя
Horrible
Сообщения: 256
Статус: Emacs geek
ОС: Emacs

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

Сообщение Horrible » 15.04.2008 08:19

В емаксе есть несколько режимов для электронных таблиц. Правда я их не видел. Пользуюсь только org-mode, в котором есть простой табличный процессор. Синтаксис формул - calc или elisp. Org-mode имеет ряд модулей-экспортеров среди которых есть html - можно его переделать под свои потребности.
Спасибо сказали:

smeea
Сообщения: 87

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

Сообщение smeea » 01.05.2008 19:39

Вообщем захотелось мне получить емакс в иксах с гтк и сглаживанием шрифтов, собрал его из цвс с теми опциями, как в http://www.emacswiki.org/cgi-bin/wiki/XftGnuEmacs сказано, но в итоге кириллица почему-то не сглаживается (шрифт monospace-10, с другими та же песня):
Изображение
(в верхнем фрейме кириллица, в нижнем - латиница; не ищите в буквах тайного смысла просто по порядку на клаве набирал общие буквы из обоих алфавитов).

Есть советы как исправить, а то очень хочется все сглаженное?
Спасибо сказали:

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

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

Сообщение h1t » 04.05.2008 13:14

Спасибо сказали:

Аватара пользователя
lolobot
Сообщения: 436
ОС: Gentoo 2008.0

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

Сообщение lolobot » 21.08.2008 11:18

Недавно начал пользоваться emacs'ом: очень понравилось. Решил перевести почту на gnus. Прием и отправка (msmtp) с основного ящика работает на ура, но дело в том, что у меня несколько дополнительных ящиков и есть необходимость получать/отправлять почту и с них.

.msmtprc

Код:

account gmail host smtp.gmail.com port 587 protocol smtp auth on from NAME@gmail.com user NAME@gmail.com password PASS tls on tls_starttls on tls_certcheck off account xxxnet host mail.xxxnet.ru protocol smtp auth on from NAME@xxxnet.ru user NAME@xxxnet.ru password PASS account mail.ru host smtp.mail.ru protocol smtp auth on from NAME@list.ru user NAME@list.ru password PASS account default : xxxnet


.gnus

Код:

;; Прием почты (setq gnus-secondary-select-methods '((nnml ""))) (setq mail-sources '((file :path "/var/spool/mail/user-name") (pop :server "mail.xxxnet.ru" :user "NAME" :port "pop3" :password "PASS"))) ;;; ;; Отправка почты (setq user-full-name "NAME") (setq user-mail-address "NAME@xxxnet.ru") (setq mail-user-agent 'gnus-user-agent) (setq send-mail-function 'sendmail-send-it) (setq message-send-mail-function 'sendmail-send-it) (setq gnus-message-archive-method "nnmaildir") (setq mail-specify-envelope-from t) (setq mail-envelope-from 'header) (setq sendmail-program "/usr/bin/msmtp")


По дефолту создались три папки:
nnml:mail.misc - Входящие
nndraft:drafts - Исходящие
nndraft:queue - Отправленные (наверно?)

Причем в отправленых почему то ничего не сохраняется.

- Как добавить еще два ящика в прием почты (что бы письма с них шли в разные папки - подпапки Входящие), причем ящики должны быть не pop, а imap?
- Как организовать отправку писем с разных ящиков (через аккаунты msmtp)?
- Как грамотно переименовать белиберду в названиях папок на "входящие, исходящие, отправленные"?
- Как заставить в буфере gnus'а *group* по умолчанию отображаться папки "входящие, исходящие, отправленные", а не только исходящие?
- Как заставить отображать почту в папке входящие так, что бы новые сообщения были наверху а не внизу и что бы они были выделены жирным?
- Как заставить сохраняться отправленые сообщения?
GNU/Linux forever! [Gentoo 2008.0]
Спасибо сказали:

Аватара пользователя
lolobot
Сообщения: 436
ОС: Gentoo 2008.0

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

Сообщение lolobot » 23.08.2008 15:46

Никто не пользуется gnus'ом?
GNU/Linux forever! [Gentoo 2008.0]
Спасибо сказали:

Bender
Сообщения: 81
ОС: Ubuntu 11.04 amd64

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

Сообщение Bender » 29.08.2008 07:55

Подскажите пожалуйста, как можно отключить разрыв строк, на совсем? В vim опция nowrap, а тут что-то не могу сделать.
Спасибо сказали:

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

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

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

написать в .emacs строчку
(setq truncate-lines t)

но правильнее сделать это через гуи настройки емакса:
M-x customize-variable RET truncate-lines RET
нажать кнопку Toggle
затем кнопку State и выбрать пункт меню 'Save for Future Session'

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

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

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

Сообщение t.t » 12.09.2008 23:26

Ув. wzrd в "проектах нашего форума" написал о emacs. Тема, на мой взгляд, более уместна именно в "проектах", потому здесь дам на неё ссылку: Emacs, Tips & Tricks
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

Аватара пользователя
sidd
Сообщения: 667
ОС: Slackware 13.37

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

Сообщение sidd » 27.09.2008 21:43

Пытаюсь перейти на Emacs. Вот есть несколько вопросов :)
1. Как сделать, чтобы строки не ломались на границах окна? Ну нигде не нашел такого параметра.
2. При переносе строки курсор перемещается в самое начало следующей строчки. Как сделать, чтобы он перемещался в то место, где начинается предыдущая строка? То есть, чтобы новая строка начиналась под предыдущей.
3. Можно ли в Emacs выделять текст стрелочками с зажатым шрифтом? А то C-backspace неудобно.
Patrick is God.
Спасибо сказали:

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

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

Сообщение t.t » 27.09.2008 23:33

sidd писал(а):
27.09.2008 21:43
1. Как сделать, чтобы строки не ломались на границах окна? Ну нигде не нашел такого параметра.
Режим называется longlines-mode (только что нашёл в C-h a lines). Сейчас в нём это и пишу. Как прописать в конфиге, чтобы он включался автоматически для каждого буфера, не помню, т.к. на emacs вернулся только вчера, а до того не работал в нём больше пяти лет. Если кто даст соответствующую строчку в конфиг, также буду весьма благодарен.

sidd писал(а):
27.09.2008 21:43
2. При переносе строки курсор перемещается в самое начало следующей строчки. Как сделать, чтобы он перемещался в то место, где начинается предыдущая строка? То есть, чтобы новая строка начиналась под предыдущей.
Если я правильно понял, что имеется ввиду, то посмотрите на indent-relative или indent-relative-maybe. Тоже нашёл только что в C-h a indent.

Кстати, если с английским не "совсем плохо", рекомендую сразу научиться использовать встроенную справку (Для этого можете почитать C-h ?).
¡иɯʎdʞ ин ʞɐʞ 'ɐнɔɐdʞǝdu qнεиж
Спасибо сказали:

Аватара пользователя
sidd
Сообщения: 667
ОС: Slackware 13.37

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

Сообщение sidd » 28.09.2008 15:32

t.t, спасибо. Получилось обе проблемы решить.
Patrick is God.
Спасибо сказали: