You are viewing the community [info]ru_emacs

Обсуждаем (X)Emacs на русском's Journal
 
[Most Recent Entries] [Calendar View] [Friends]

Below are the 20 most recent journal entries recorded in Обсуждаем (X)Emacs на русском's LiveJournal:

    [ << Previous 20 ]
    Monday, May 14th, 2012
    11:49 am
    [dennis]
    emacs/CEDET/gdb под виндой
    Есть проект на C++ под Винду, с которым я работаю в MS VS 2010.
    MS VS 2010 уже поднадоел своими тормозами и не очень внятным IntelliSense.
    Вопрос к залу: возможно ли в емаксе и CEDET (?) поднять приблизительный аналог среды?
    Хочется: автодополнение, "go to definition/declaration", браузер классов/методов.
    Но еще и хочется отладчик (gdb виндовый - это возможно?) с аналогичным браузингом всех локальных переменных, аргументов, итд. Чтобы из емакса можно было и отладку делать.
    В качестве компилятора, вероятно, mingw или clang...
    И все это под виндой.
    Вопрос: стоит ли заниматься этим утонченным извращеннием или все же не стоит тратить нервы?
    Sunday, December 25th, 2011
    11:30 am
    [vorotylo]
    Fwd: Cue a key

    Наиболее элегантное из виденных мной решений "Проблемы переключения раскладки" предложено Никитой Даниловым:

    ; Map Modifier-CyrillicLetter to the underlying Modifier-LatinLetter, so that
    ; control sequences can be used when keyboard mapping is changed outside of
    ; Emacs.
    ;
    ; For this to work correctly, .emacs must be encoded in the default coding
    ; system.
    ;
    (mapcar*
     (lambda (r e) ; R and E are matching Russian and English keysyms
       ; iterate over modifiers
       (mapc (lambda (mod)
        (define-key input-decode-map
          (vector (list mod r)) (vector (list mod e))))
      '(control meta super hyper))
       ; finally, if Russian key maps nowhere, remap it to the English key without
       ; any modifiers
       (define-key local-function-key-map (vector r) (vector e)))
       "йцукенгшщзхъфывапролджэячсмитьбю"
       "qwertyuiop[]asdfghjkl;'zxcvbnm,.")
    
    Monday, November 7th, 2011
    12:41 am
    [juri_jurta]
    Ввод командных комбинаций без переключения русской раскладки

    В новой версии Емакс 24.1 при включенной системной русской раскладке можно вводить командные комбинации с любыми символами (с модификаторами и даже без), которые привязаны к командам, кроме `self-insert-command'. При этом, русские буквы автоматически транслируются в соответствующие английские. Например, последовательность `C-ч и' транслируется в `C-x b' и запускает `switch-to-buffer'. Всё это получается при помощи такой функции:

    (defun reverse-input-method (input-method)
      "Build the reverse mapping of single letters from INPUT-METHOD."
      (interactive
       (list (read-input-method-name "Use input method (default current): ")))
      (if (and input-method (symbolp input-method))
          (setq input-method (symbol-name input-method)))
      (let ((current current-input-method)
            (modifiers '(nil (control) (meta) (control meta))))
        (when input-method
          (activate-input-method input-method))
        (when (and current-input-method quail-keyboard-layout)
          (dolist (map (cdr (quail-map)))
            (let* ((to (car map))
                   (from (quail-get-translation
                          (cadr map) (char-to-string to) 1)))
              (when (and (characterp from) (characterp to))
                (dolist (mod modifiers)
                  (define-key (if mod input-decode-map local-function-key-map)
                    (vector (append mod (list from)))
                    (vector (append mod (list to)))))))))
        (when input-method
          (activate-input-method current))))
    

    Команда запускается, например, так: `M-x reverse-input-method RET cyrillic-jcuken RET'

    NB: Чтобы команды, запрашивающие пароль, не выполняли бы эту перекодировку при чтении пароля, нужно обнулять значение `local-function-key-map' во время выполнения команды, например:

    (defadvice read-passwd (around my-read-passwd act)
      (let ((local-function-key-map nil))
        ad-do-it))
    
    Friday, November 4th, 2011
    3:04 am
    [yushi]
    [SOLVED] Сломались ссылки на заголовки в org-mode
    Здравствуйте.

    Создал довольно большой файл в org-mode. Некоторое время всё работало, а потом сломались ссылки на заголовки:

    • при нажатии C-c C-o получаю сообщение "No match - create this as a new heading? (y or n)";

    • если согласиться, создаётся заголовок с пробелом после первой звёздочки: "* ** Вот такой";

    • если, стоя на заголовке, дать команду org-store-link, а потом создать ссылку через C-c C-l, имя заголовка оказывается в URL encoding, например, "*%D0%A2%D0%B5%D1%81%D1%82%D0%BE%D0%B2%D1%8B%D0%B9%20%D0%B7%D0%B0%D0%B3%D0%BE%D0%BB%D0%BE%D0%B2%D0%BE%D0%BA" вместо "* Тестовый заголовок".

    Особенности моих настроек системы и Emacs, которые могут иметь значение:

    • локаль koi8-r, файл в utf-8-unix;

    • совместно с org-mode использую longlines-mode и iimage-mode;

    • незадолго до появления глюка обновил org-mode с версии 6.28d на версию 7.7.

    Что бы можно было сделать? Файл жалко, в нём много важной информации. Откатываться назад на 6.28d тоже не хочется, там нет команды org-display-inline-images, а мне эта фича (отображение картинок) очень приглянулась.

    UPD Проблема решена, надо внимательнее курить ман.

    Звёздочка в ссылке — это не точная ссылка на заголовок, а поиск в файле по содержимому заголовков. Поэтому, чтобы сослаться на заголовок любого уровня, достаточно написать *Имя заголовка, с одной звёздочкой. И если старая версия org-mode неправильные ссылки как-то обрабатывала, то новая перестала. URL encoding же оказалась возможной, но не обязательной — ссылки с нормальным текстом тоже работают.

    Перешёл на новый формат ссылок командой:
    sed -i 's/\[\[\*\{1,4\} /\[\[*/g' имя_org-файла.org
    (Осторожно! Это запуск sed в inplace-режиме, если вы не храните ваш org-файл в системе контроля версий, он произведёт необратимые и, возможно, неожиданные для вас изменения — не говорите потом, что вас не предупреждали.)
    Wednesday, October 26th, 2011
    1:22 am
    [joedead]
    tiling windows in emacs
    Учитывая что в емаксе есть вообще всё - наверняка это уже кем-то реализовано, но ни с первой, ни со второй попытки найти не удалось.

    Хочется следующего: чтобы при запуске emacsclient автоматически появлялось 3 фрейма:
    1. окно с wanderlust
    2. окно ростера emacs-jabber
    3. окно с erc

    При открытии чата во 2-ом фрейме он автоматически сплитался на 2 окна, вертикально (25% - ростер, остальное - чат). В дальнейшем все чаты открывались во 2-ом (75%) окне.

    Расписываю столь подробно как раз потому, что отдельные куски "чего-то наподобии" встречаются, а вот цельное руководство пока не попалось.

    Вдохновил на данный пост меня xmonad - возможность заранее расписать что будет на каком десктопе, какие окна и в какой пропорции займут место оказалась чертовски удобной. И выглядит очень похожей на емаксовскую "философию": фреймы емакс == декстопы xmonad, окна емакс == окна xmonad etc.

    В общем вопрос, поклонники tiling wm - делали нечто подобное с емаксом?
    Sunday, October 2nd, 2011
    4:52 am
    [dennis]
    Хочется странного: отметить блок в буфере, нажать на какую-нибудь кнопку так, чтобы блок подался некоему скрипту на stdin, затем то что скрипт выдаст в stdout, emacs вставил в буфер вместо выделенного блока.
    Запускать скрипты awk, и прочие.
    Есть уже подобная фича?
    Friday, August 12th, 2011
    2:27 pm
    [red1ynx]
    [Решено] Переключение раскладки в win32.
    Перерыл полинтернета, но не нашел, как сделать нормальную (или по CapsLock, или как в системе) переключалку раскладки.
    Пост, который мог мне помочь - http://dima-exe.ru/2007/4/win32-emacs-and-change-language - уже недоступен.

    Расскажите, как это сделано у вас?
    Wednesday, August 10th, 2011
    11:20 am
    [dennis]
    GNUS + RSS
    Кто-нибудь использует GNUS для чтения RSS в Emacs/Win32?
    Если да, то какие настройки вы используете для более вменяемого отображения фидов - html, итд?
    Не можете ли указать на подходящий конфиг?
    Friday, June 17th, 2011
    1:54 am
    [yushi]
    Автодополнение для Python: как подружить Rope и Auto Complete Mode?
    Здравствуйте.

    Наверное, многим здесь знакомо расширение Auto Complete Mode, рисующее всплывающее меню для автодополнения кода с удобной клавиатурной навигацией (M-p/M-n). К сожалению, Auto Complete Mode сам по себе код не парсит, для анализа исходников ему нужны внешние бэкэнды.

    Несколько раз здесь также упоминали про Ropemacs, плагин, позволяющий подключить Rope (библиотеку для рефакторинга питоньего кода) к Emacs. Rope как раз, естественно, Питон разбирает хорошо.

    Столкнувшись с проектом на Питоне, я попробовал использовать Rope и понял, что стиль, в котором он предлагает возможные дополнения, мне не нравится. Чтобы выбрать нужное, надо либо снимать руки с клавиатуры и тянуть к мышке, либо переключаться в окно с вариантами дополнений, либо продолжать набирать; все три варианта мне не слишком удобны.

    Естественно, возникло желание подружить Rope и Auto Complete Mode, тем более что в коде последнего даже вроде как содержатся следы попыток использовать Rope в качестве бэкэнда.

    Ничего не вышло.

    Единственное (вроде как) готовое решение нашлось здесь: http://www.enigmacurry.com/2009/01/21/autocompleteel-python-code-completion-in-emacs/.

    Оно у меня не работает: меню AC показывает "тупые" продолжения, а Ropemacs для своих вариантов дополнения открывает отдельное окно.

    У кого-нибудь работает Ropemacs в связке с Auto Complete Mode? Если нет, то есть ли у кого-нибудь идеи, как добиться одновременно "умного" и "красивого" автодополнения для Питона (не обязательно этими средствами)?

    (Вопросы в этом сообществе у меня получаются какие-то однообразные, да; но что же делать, если практически во всём, кроме "умного" автодополнения, Emacs меня практически полностью устраивает?)
    Wednesday, May 25th, 2011
    2:17 pm
    [ratxor]
    ansi colors in shell
    Добрый день. Столкнулся со следующей проблемой. В EmacsW32 при выполнении команды M-x shell у меня запускается cygwin bash. И в этом shell команда ls --color возвращает цветной результат, а echo 1 | grep 1 --color - нецветной. Причем, если указать echo 1 | grep 1 --color=always, то на экране появляются управляющие ANSI-коды. Раз вывод команды ls --color цветной значит данный терминал поддерживает ansi-коды. Grep вызывается именно тот, который нужен - из cygwin. И в cygwin shell, и в Far cygwin grep с опцией --color возвращает цветной результат. В конфиге emacs команды (autoload 'ansi-color-for-comint_mode-on "ansi-color" nil t) и (add-hook 'shell-mode-hook 'ansi-color-for-comint-mode-on) указывал.

    Оказывается, grep --color формирует странные ANSI-коды: echo 1 | grep 1 --color=always | od -t x1
    0000000 1b 5b 31 3b 33 33 6d 1b 5b 4b 31 1b 5b 6d 1b 5b
    0000020 4b 0a
    0000022

    То есть, странные коды здесь это "[K" и "[m".

    Для сравнения ls --color | od -t x1
    0000000 1b 5b 30 6d 1b 5b 30 31 3b 33 32 6d 62 61 73 68
    0000020 2e 65 78 65 2e 73 74 61 63 6b 64 75 6d 70 1b 5b
    0000040 30 6d 2a 0a 1b 5b 30 31 3b 33 32 6d 63 6d 64 70
    0000060 72 6f 78 79 2e 65 78 65 2e 73 74 61 63 6b 64 75
    0000100 6d 70 1b 5b 30 6d 2a 0a 65 63 68 6f 5f 72 65 73
    0000120 2e 74 78 74 0a 65 63 68 6f 5f 72 65 73 5f 63 79
    0000140 67 77 69 6e 2e 74 78 74 0a 6c 73 5f 72 65 73 2e
    0000160 74 78 74 0a
    0000164

    Может быть, это файл ansi-color.el не поддерживает такие SGR-коды. У меня была версия ansi-color.el 3.4.2. Скачал и скомпилировал последнюю версию - 3.4.5. Результат тот же.
    Saturday, February 19th, 2011
    3:56 am
    [smilingcrank]
    hooks в r-mode
    Использую ESS, пытаюсь поставить на r-mode хук для изменения одной из быстрых клавиш:

    (add-hook 'r-mode-hook 
              '(lambda () (global-set-key "\C-d" 'ess-eval-function))) 
    

    То есть, ожидаемое поведение: при включённом r-mode комбинация C-d будет вызывать компиляцию функции. Однако на практике ничего не происходит - просто ноль реакции, хук не вызывается.
    Рядом всё то же самое для clojure-mode работает нормально.

    В чём может быть проблема?
    Monday, January 17th, 2011
    1:25 pm
    [hanmaudziro]
    org babel
    Поставил emacs 23 + starter kit
    не могу понять как заставить работатать babel
    Read more... )
    Saturday, January 15th, 2011
    1:40 pm
    [gsap]
    source code navigation
    Здравствуйте, дорогие сообщники!

    Я пытаюсь разобраться в большом объёме кода на С и С++, было бы здорово если бы emacs мне в этом помогал.

    1) Я бы хотел иметь возможность переходить к определению функций, методов, переменных и макросов.
    2) Пусть есть "#include "some/component/interface.h" . Хотелось бы переходить в interface.h автоматически, поставив курсор на имя файла. (В vim это делается с помощью gf) Вроде бы M-x ffap, но - нет, он не понимает какой файл под курсором.

    Можно ли научить emacs/меня так делать?

    Я пытался сделать 1) с помощью TAGS, но он будто бы только для C. Не находит всё, что нужно.

    Заранее благодарю.
    Thursday, December 23rd, 2010
    12:10 pm
    [kurilka]
    Проблемы с отрисовкой
    На днях с емаксом стало происходить что-то странное, судя по всему какие-то проблемы с отрисовкой содержимого. В настройках смого emacs ничего не менял. В голову ничего не приходит, как можно выяснить корень проблем.
    Пример можно посмотреть на картинке ниже:



    Там курсор реально находится на 3-й строке (на точке с запятой), в 5-й же отображается прямоугольник на том месте, где курсор был при открытии буффера. Плюс в правой части виден "огрызок" от логотипа Emacs отображаемого при открытии.
    Буду благодарен за любые мысли, ибо сейчас пользоваться емаксом практически невозможно.
    Кстати uname -a :
    Linux qrilka-desktop 2.6.32-26-generic-pae #48-Ubuntu SMP Wed Nov 24 10:31:20 UTC 2010 i686 GNU/Linux
    стоит дефолтный гном, емакс:
    GNU Emacs 23.1.1 (i486-pc-linux-gnu, GTK+ Version 2.20.1)

    Update Оказалось, что это был какой-то глюк с настройкой window manager - гном во "внешнем виде" не показывал ни один из вариантов "выбранным", воткнул metacity и всё вроде теперь работает корректно.
    Tuesday, December 14th, 2010
    5:07 pm
    [ratxor]
    Как настроить emacs w3m-weather для отображения погоды в Москве?
     Есть модуль w3m-weather, входящий в состав emacs-w3m. Этот модуль может тянуть погоду только с японского сайта http://weather.yahoo.co.jp/weather/jp/%s.html. Как сделать так, чтобы w3m-weather показывал погоду в Москве?

    "If you want to make emacs-w3m support non-Japan weather site, you will have to do 2 steps.
    (1) Add its page information to `w3m-weather-completion-table', as follows: (setq w3m-weather-completion-table (cons '("Arizona" "Arizona" "http://weather.yahoo.com/forecast/USAZ0034_f.html";) w3m-weather-completion-table))
    (2) Write filter functions to remove unwanted tags and contents, and register them to `w3m-weather-filter-functions'
    Monday, December 13th, 2010
    2:58 pm
    [darkdrip]
    Подскажите как в вендовом емаксе сохранять окна
    Не только их позиции и размеры, но и содержимое. Попробовал 20 рецептов из интернета - ни один из них не заработал. Вернее несколько заработали, но неправильно. Нужно чтобы сохранялось все, включая eshell.
    Tuesday, September 14th, 2010
    12:50 pm
    [kurilka]
    Запоминание замен регулярными выражениями
    Во многих чуть более серьёзных редакторах есть некий стек последних использовавшихся строк поиска/замены. Особенно это актуально, на мой взгляд, для регулярных выражений (которые могут быть нетривиальными). Собственно, вопрос - есть ли какой плагин для такого стека к емаксу или может это реализуется как-то стандартными средствами?
    p. s. Про стрелки как-то забыл подумать, но оно вроде только в рамках 1 сессии.
    p. p. s. Для межсессионности достаточно (savehist-mode 1)
    Sunday, September 12th, 2010
    6:09 pm
    [lwarx]
    Как отключить DVC полностью или частично при работе через tramp?
    Пользуюсь режимом DVC исключительно локально и сильно бесит когда при открытии файлов через Tramp он пытается искать все известные ему типы репозиториев. Сетевые условия таковы что до некоторых машин сетевая задержка начинается от 200мс и совсем всё плохо когда доступ в интернет есть только через сотовый 3G модем.

    Пока что удалось сократить количество используемых backend'ов:
    (require 'dvc-autoloads)
    (setq dvc-registered-backends '(xhg xgit bzr))
    А в идеале хотелось бы при доступе к удалённым файлам через tramp либо вообще отключить dvc (предпочтительно), либо оставить только один xhg.

    Read more... )
    Friday, September 10th, 2010
    1:12 am
    [kurilka]
    Глобальное переключение локали в ОС и emacs
    Вот уже не первый месяц как установил себе переключение раскладки по Caps и в ОС (Ubuntu Lucid Lynx) так и в emacs. Всё вроде хорошо, пусть и чуток переучиться пришлось, но обнаружились "косяки": переключение не работает в IDEA (на emacs для Java я пока не отважился) и Firefox не реагирует на нажатие русских букв (соотв-но Instant Search по-русски не работает).
    Вопрос - есть ли какой-нибудь хороший вариант разрешения ситуации, чтобы и волки сыты и овцы целы?
    По-моему в прошлый раз когда затрагивалась тут эта тема, шла речь, что люди "перешивают" байндинги на русские буквы, чтоб работать с родной переключалкой.
    Также в Ubuntu есть "интеграция" IBus в поддерживаемые языки (Система\Администрирование\Язык системы\Метод ввода с клавитуры), только смысл её как-то от меня ускользает...
    Заранее спасибо за пинки в нужном направлении.
    P.S. Получившийся результат описал у себя в журнале
    Thursday, August 26th, 2010
    11:28 am
    [ratxor]
    Установка g-client или что такое w3m-buffer?
    Я хочу настроить чтение Google Reader из EmacsW32. Есть модуль G-Client,  который добавляет в emacs не только Google Reader, но и другие сервисы Google (Calendar, ...). 
     У меня уже установлены:
    • w3m из cygwin
    • emacs-w3m.
    W3M в emacs работает. Поставил g-client и добавил в .emacs следующие строки:
    (add-to-list 'load-path "~/.emacs.d/g-client")
    (load-library "g")
    (setq g-user-email "valery.otryvankin@gmail.com")
    (setq g-html-handler 'w3m-buffer)

    Теперь при вводе команды "M-x greader-reading-list" и вводе пароля возникает ошибка: "Symbol's function definition is void: w3m-buffer". Модуля w3m-buffer в составе emacs-w3m нет. Функция такая не определена - C-h f <Ret> w3m-buffer. 

    Что это за модуль w3m-buffer? Может это какой-то устаревший модуль? На что его можно заменить?

    В файле g-client.html написано: "g-html-handler Name of function that handles HTML content".

    По ходу дела обнаружил ещё одну проблему - нет xsltproc. xsltproc не входит в состав cygwin. Видимо, придётся компилировать его из исходников в cygwin.
[ << Previous 20 ]
About LiveJournal.com