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

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

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

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

Сообщение h1t » 15.09.2009 10:07

1.
(setq default-input-method "russian-computer")
функция toggle-input-method с биндингом C-\
будет переключать раскладку

узнать больше о раскладке можно так
C-h C-\
или
M-x describe-input-method

2.
в .emacs прописать:
;;avoid escape sequences in shell mode
(autoload 'ansi-color-for-comint-mode-on "ansi-color" nil t)
(add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on)
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 15.09.2009 13:09

1. Понятно, спасибо. toggle-input-method - это то, что надо. И в библии про нее есть в методах ввода. Был невнимателен, посыпаю голову пеплом.
2. Все равно зюки. Начал копать. Нашел, что если в shell-режиме скомандовать С-RET-p (функция set-buffer-process-coding-system), emacs задаст два вопроса про кодировку для входа и выхода. Отвечаю на них - utf-8, и в дальнейшем зюки исчезают. Попытался создать хук в .emacs:

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

(add-hook 'shell-mode-hook '(set-buffer-process-coding-system utf-8 utf-8))

В результате при входе в шелл-режим получаю сообщение:

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

Invalid function: (set-buffer-process-coding-system)

:(
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 15.09.2009 15:11

Ура!!! Починил!!!

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

(defun sh()
  (interactive)
  (shell)
  (set-buffer-process-coding-system 'utf-8 'utf-8)
  )
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 15.09.2009 16:37

какая версия емакса? 22?
у меня 23.1
потому что у меня вызов
(process-coding-system (get-buffer-process "*shell*"))
возвращает
(utf-8-unix . utf-8-unix)

хук надо было написать так:
(add-hook 'shell-mode-hook (lambda () (set-buffer-process-coding-system 'utf-8 'utf-8)))

еще это можно было бы решить с помощью написания advice к функции shell
читай хелп по defadvice

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

(defadvice shell (after my-shell-advice)
  (set-buffer-process-coding-system 'utf-8 'utf-8))
(ad-activate 'shell)


грубо говоря ты добавил одну строчку в конец функции shell
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 15.09.2009 17:10

Версия 23.1.1.
Ну да, наверное, любую задачу можно решить разными методами, но раз все заработало - в дебри не полезу :)
Твой хук заработал. Буду использовать его, это предпочтительнее, чем самопальная функция. Если не поленюсь, попытаюсь выяснить, что такое лямбда. Ведь без нее хук не работает.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 28.09.2009 11:56

Доброго времени суток. Такая беда - emacs 22.3.1 воспринимает сочетание клавиш C-m как RET со всеми вытекающими. Почему? Я такой ерунды в .emacs не прописывал. Как победить?
Спасибо.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 28.09.2009 14:41

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

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 28.09.2009 15:26

Опять я был невнимателен. Спасибо, не буду C-m трогать. Назначил (execute-extended-command) на C-x/C-. и всего делов.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 29.09.2009 09:40

от таких биндингов над нами вимеры и смеются.
это же одна из самых часто выполняемых команд.
я себе эту команду повесил на Caps Lock - ткнул мизинцем -
и набираешь команду. (если пользоваться ido с включенными ido-enable-flex-matching,
то набор происходит очень быстро.)
Команду так же можно найти в истории команд - в минибуфере поиск
происходит так же как и в обычных буферах: C-r и C-s
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 29.09.2009 09:59

Хм... Идеологически неправильный биндинг? Я поменял CapsLock и Ctrl местами. Я правильно понял, что идеологически правильно будет теперь повесить execute-extended-command на Ctrl(бывший СapsLock)? Или не стоило менять CapsLock и Ctrl местами?
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 29.09.2009 11:52

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

я никогда не понимал замены caps lock на control
потому что для нажатия C-a все равно придется нажимать клавишу control
мои мизинцы не дотягиваются до контролов на клаве, поэтому
я сделал контролами обе Win клавиши
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 29.09.2009 11:56

Все. Запутался окончательно :( Пока нечего сказать. Думаю...
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 09.11.2009 19:17

Назначил таки на Ctrl+. :)
Хотел попытать консольный emacs. Не получилось, ибо категорически не согласен с восемью цветами, которые он мне предлагает. В man setterm четко сказано, что цветов может быть 16!!! Как заставить emacs увидеть 16 цветов? Пятый день бьюсь, и с гуглом, и с маном ... :(
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 10.11.2009 12:00

я использую (очень редко) емакс в urxvt
доступно 88 цветов

настраиваются так:
в файле Xresources
URxvt.background: #2f4f4f
URxvt.foreground: #ffdead
URxvt.color4: #7b68ee
URxvt.color12: #7b68ee
...

посмотреть цвета можна так:
M-x list-colors-display

обновить файлик Xresources так:
$ xrdb -merge /etc/X11/Xresorces

p.s. фича multy-tty позволяет вообще отказаться от емакса в консоли...
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 10.11.2009 12:57

Боюсь, ты меня не понял. Причем здесь Xresources? Зачем мне запускать emacs в эмуляторе терминала в иксах? Там с цветом проблем нет, хоть 256 цветов, не вопрос. Меня интересует голая консоль.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 10.11.2009 13:11

это же экзотика - иметь настольный комп без иксов
а на сервер можно заходить из емакса на настольном компе
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 10.11.2009 13:21

Какая-такая экзотика?
Навскидку:
1. Неумело ставим драйвер видео, перегружаемся, и получаем комп без иксов :)
2. /home на внешнем usb-винте, и винт (или еще чего?) заглючил. Аналогично
3. Ну и т.д.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

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

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

Сообщение h1t » 11.11.2009 10:43

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

ArteAtMarte
Сообщения: 2

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

Сообщение ArteAtMarte » 12.11.2009 00:44

Я недавно стал использовать раскладку Дворака. Вы ведь тоже пользуетесь ею... Так вот у меня возникла проблема: переключалка раскладки имакса существенно удобней иксовой, но при переключении ею на русский.... В общем, вы сами знаете что происхдит т.к. писали, что решили эту проблему где то в соседней ветке форума. Вы не поделитесь решением? И, если можно, заодно расскажите как поджменили стандартный префикс C-x.
Спасибо сказали:

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

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

Сообщение h1t » 12.11.2009 10:01

возникнут вопросы - задавай
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Спасибо сказали:

ArteAtMarte
Сообщения: 2

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

Сообщение ArteAtMarte » 12.11.2009 15:37

h1t писал(а):
12.11.2009 10:01
возникнут вопросы - задавай

А чем открыть .tgz файл? :) Шучу, конечно. Вроде все понятно, небольшие несостыковки получились т.к. я версию Дворака для программистов использую, но я справлюсь. Спасибо.
Спасибо сказали:

Аватара пользователя
Helmik
Сообщения: 9
ОС: openSUSE

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

Сообщение Helmik » 13.11.2009 15:14

А кто пользуется такой возможностью как folding? Пробовал разобраться, но не получилось, поэтому остановился пока на HideShow. Какие возможности предоставляет folding по сравнению с hideshow, применительно к СC mode?
To be a rock and not to roll.
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 04.01.2010 18:09

С Новым Годом всех!!! :drinks:
Могу ли я, установив курсор на каком-либо слове, с помощью функции поиска найти все вхождения этого слова в буфере? Ну то есть чтобы не нужно было набирать врукопашную это слово в минибуфере. Существует ли такая функция в emacs, или нужно писать самому? Интересует исключительно встроенная функция, чтобы не изобретать велосипед. В библии ответа не нашел.
Спасибо.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

iNode
Сообщения: 7

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

Сообщение iNode » 12.01.2010 09:23

forkjoin писал(а):
04.01.2010 18:09
Могу ли я, установив курсор на каком-либо слове, с помощью функции поиска найти все вхождения этого слова в буфере? Ну то есть чтобы не нужно было набирать врукопашную это слово в минибуфере. Существует ли такая функция в emacs, или нужно писать самому? Интересует исключительно встроенная функция, чтобы не изобретать велосипед. В библии ответа не нашел.
Спасибо.


Установите курсор на начало слова C-s - для перехода в режим поиска, C-w для выделения вперёд, C-s/C-r для перемещения вперёд/назад между вхождениями.

Подробнее: C-h f isearch-forward.
Спасибо сказали:

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

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

Сообщение h1t » 12.01.2010 10:36

поскольку речь шла о поиске слова а не текста
то лучше использовать
M-s w
это для поиска именно слова
т.е поиск слова под курсором будет
M-s w C-w
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 20.01.2010 15:02

Здравствуйте.
Хочу, чтобы при запуске емакс разворачивался на весь экран. Про ключи запуска, управляющие геометрией окна знаю, не помогает. Например,
если

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

emacs -fs
, получаю картину, показанную в аттаче.
Т.е такое ощущение, что емасс неправильно "понимает" мой монитор или "предполагает" другой (бОльший) DPI. Ситуация осложняется тем, что у меня двухмониторная система, а ведь хочется еще и указать, на каком мониторе он должен разворачиваться.
Как объяснить емаксу, что у меня за монитор? Интересуют также другие методы решения этой задачи или в виде готовых решений (скриптов запуска, например), или в виде посыла в направлении, куда копать.
Спасибо.

Проверил дома на той же оси (Centos) и том же рабочем столе (XFCE). Но монитор дома - один. Все нормально, емакс грамотно разворачивается на весь экран.
У вас нет необходимых прав для просмотра вложений в этом сообщении.
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

Аватара пользователя
serg43
Сообщения: 137
ОС: Linux, Archlinux

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

Сообщение serg43 » 21.01.2010 13:50

forkjoin писал(а):
20.01.2010 15:02
Здравствуйте.
Хочу, чтобы при запуске емакс разворачивался на весь экран. Про ключи запуска, управляющие геометрией окна знаю, не помогает. Например,
если

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

emacs -fs
, получаю картину, показанную в аттаче.
Т.е такое ощущение, что емасс неправильно "понимает" мой монитор или "предполагает" другой (бОльший) DPI. Ситуация осложняется тем, что у меня двухмониторная система, а ведь хочется еще и указать, на каком мониторе он должен разворачиваться.
Как объяснить емаксу, что у меня за монитор? Интересуют также другие методы решения этой задачи или в виде готовых решений (скриптов запуска, например), или в виде посыла в направлении, куда копать.
Спасибо.

Проверил дома на той же оси (Centos) и том же рабочем столе (XFCE). Но монитор дома - один. Все нормально, емакс грамотно разворачивается на весь экран.

http://www.emacswiki.org/emacs-ru/Fullscreen
дописать в .emacs что-то навроде
(load-file "/home/serg/.emacs.d/fullscreen.el")
(require 'fullscreen)
(global-set-key [f5] 'fullscreen-toggle)
Спасибо сказали:

Аватара пользователя
forkjoin
Сообщения: 73
ОС: OpenSuse 11.2

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

Сообщение forkjoin » 21.01.2010 14:07

И всего делов? Вы волшебник, спасибо!!! :drinks:
SPECCTRA forever!!!
IO/Designer forever !!!
Спасибо сказали:

Аватара пользователя
serg43
Сообщения: 137
ОС: Linux, Archlinux

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

Сообщение serg43 » 21.01.2010 16:37

forkjoin писал(а):
21.01.2010 14:07
И всего делов? Вы волшебник, спасибо!!! :drinks:

Ну не волшебник :) Все равно это полукостыльное решение, нормального тоже не могу найти.
Спасибо сказали:

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

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

Сообщение h1t » 23.01.2010 14:51

нормального решения и не будет
это задача для оконного менеджера а не емакса

я в своем fluxbox'е прописал когда где и какаго размера
должно быть окно емакса
Спасибо сказали: