Видео смотреть бесплатно

Смотреть украинское украинки видео

Официальный сайт seoturbina 24/7/365

Смотреть видео бесплатно

ladykosha 13.03.2013 13:51

Emacsdict + dictem или словари в Emacs

Словари я люблю, уверена, что их должно быть много, и все "на кончиках пальцев". Дабы легко уяснять, что означает конкретное слово, или как это будет на другом языке, или какие есть синонимы, или что ещё мне будет актуально... И обо всём этом не хотелось бы задумываться, просто делать.

Как любителю и пользователю Emacs мне приглянулось сочетание dictd + dict + dictem. Удобнее всего обращаться к словарям и группам словарей, когда можно не отрываться от текстописания и любимого редактора.

Про установку я почти ничего не могу сказать - в моём дебиане всё в репозитории, соответственно

1
aptitude install dict dictd dictem

Впрочем, про dict на welinux уже писали: http://welinux.ru/post/4620/.

Нужны и собственно словари. Весьма интересный набор их можно скачать с http://dict.mova.org/. В репозиториях дебиан есть dict-de-en, dict-devil, dict-elements, dict-foldoc, dict-gcide, dict-jargon, dict-stardic, dict-vera, dict-wn, dict-xdict, mueller7-dict, mueller7accent-dict. У кого другие дистрибутивы, могут всё равно найти эти словари с описаниями на http://www.debian.org/distrib/packages#search_packages, и скачать. Есть заметное количество freedict-овских словарей, и в дебиановском репозитории, и на http://www.freedict.org/ru/, кому что удобнее. Чуточка есть тут: ftp://ftp.dvo.ru/pub/dict/.

Ещё словари можно делать самостоятельно, но об этом как-нибудь в другой раз.

Место для словарей по умолчанию - /usr/share/dictd/. Что стоит помнить при обновлении словарей: работающий dictd словари сам не подхватывает. Надо просто перезапустить его или последовать совету из мана: сначала отправьте dictd-у сигнал SIGUSR1, чтобы dictd выгрузил словари из памяти, потом обновите файлы и отправьте dictd-у сигнал SIGHUP, чтобы загрузить их снова.
Если словарь новый, а не обновление существовавшего, то до перезапуска надо ещё и dictdconfig -w запускать - чтоб dictd словарь вообще заметил. Впрочем, в дебиане при установке из репозитория это делается автоматически.

Хорошо, теперь всё есть и всё сделано, что дальше? Можно поинтересоваться свойствами нашего сервера словарей. Можно сразу искать слова в консоли, для этого у нас dict.

Что касается свойств, интересно вот что:

  1. dict --strats сообщит, какие стратегии поиска можно использовать. У меня это
    • exact - точное совпадение с заголовком словарной статьи.
    • prefix - совпадение префикса, то есть совпадение с началом заголовка.
    • nprefix - раньше не понимала и не использовала, но от написания статей есть польза пишущему. :) Запрос пишется так: skip#count#string, где skip и count - натуральные числа. Тогда результатом будут максимум count совпадений начала заголовка со строкой string, не считая первых skip из них, которые будут пропущены. Это из каждого словаря, который спросили.
    • substring - совпадение подстроки где угодно в заголовке.
    • suffix - совпадение суффикса, то есть совпадение с концом заголовка.
    • re - POSIX 1003.2 ("современные") регекспы. См. http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04.
    • regexp - "старые" регекспы. См. http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03
    • soundex - будет искать подобное по звучанию.
    • lev - найдёт слова, которые отличаются на одну "правку" (вставка, удаление или перестановка буквы).
    • word - найдёт совпадение с любым словом заголовка.
    • first - только совпадение с первым словом.
    • last - только совпадение с последним словом.

  2. dict --dbs скажет, как наши словари зовутся на взгляд dictd. Это нам пригодится. Во-первых, можно прямо из консоли просить ответа лично у знакомого словаря. А во-вторых, мы собирались настроить dictem.

Что касается поиска слов непосредственно из консоли через dict, то советую обратить внимание на ключики

Теперь про dictem. Что нужно добавить в ваш конфиг emacs, чтоб это счастье заработало.

Во-первых, затребовать сам dictem.

1
(require 'dictem)

Во-вторых, по желанию, подключить горячие клавиши. Часто используются, имхо, две функции:
1
2
3
4
5
; SEARCH - спрашивает слово, в каком словаре искать и каким способом, 
; показывает найденные словарные статьи.
(global-set-key "\C-cs" 'dictem-run-search)
; DEFINE - спрашивает слово и словарь, показывает найденные словарные статьи.
(global-set-key "\C-cd" 'dictem-run-define)

По умолчанию в обоих случаях ищет слово под курсором, что также уменьшает количество щёлканий по кнопкам :)

Теперь,тоже по желанию, самое приятное - подборки словарей, как бы "виртуальные словари". Имена словарей в подборке берём из списка, полученного по результатам dict --dbs, имена подборок - на ваш вкус, только лучше как-то отличать от обычных.

Например:

1
2
3
4
5
6
7
(setq dictem-user-databases-alist
'(("_en-ru" . ("korolew_en-ru" "mueller24" "magus" "sinyagin_general_er" "engcom"))
("_en-en" . ("foldoc" "gcide" "wn"))
("_ru-ru" . ("beslov" "ses" "ushakov" "ozhegov" "ozhshv" "brok_and_efr" "rus_syn" "dalf" "bus"))
("_ru-en" . ("sinyagin_general_re" "idioms" "sokrat_ru-en" "korolew_ru-en"))
("_other" . ("smiley" "names" "ethnographic"))
))

Теперь "словари" _en-ru, _en-en, _ru-ru, _ru-en и _other будут в списке словарей, которые вам любезно подскажет emacs, когда вы будете мучительно вспоминать, что у вас там вообще за словари, как их зовут, и где же имеет смысл искать это конкретное слово :)

Если у вас уже уймища словарей, и их вы видеть в *Completitions* вообще не желаете, а хотите видеть исключительно вот такие "виртуальные", то ваше счастье с вами:

1
(setq dictem-use-user-databases-only t)

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

Разумеется, это не всё, что можно настроить, но самое нужное на мой вкус. Приятного пользования! :)


UPD. Немного дополнила пост сведениями из комментариев.


Тэги: dict emacs словари
+ 5 -
Похожие Поделиться

Dark_SS 13.03.2013 14:06 #
+ 0 -
Лучшая, наверно, коллекция словарей доступна на сервере мейтейнера дикта. Насколько я знаю, оттуда можно их и стянуть.
ladykosha 13.03.2013 14:21 #
+ 1 -
Насколько я знаю, нет. Ссылка для скачивания на http://mova.org/~cheusov/dict/, но там шлют на rsync://dictd.xdsl.by/dicts, а оно у меня не отзывается уже энное время, увы. Была бы рада узнать, что другим доступно, если это только моя проблема.:)
Dark_SS 13.03.2013 16:16 #
+ 0 -
ОК, уточню :)
Dark_SS 13.03.2013 16:25 #
+ 2 -
Чеусов Алексей:
fixed, пусть нажмет reload на той страничке. Передай спасибо!
Whitesquall 13.03.2013 14:07 #
+ 0 -
уверена
Как любителю и пользователю Emacs
в моём дебиане


Простите мою нескромность. Вы замужем? <3

PS: За статью спасибо. Люблю хаки Emacs'а =)
ladykosha 13.03.2013 14:29 #
+ 0 -
Замужем. :)

Рада, если статья понравилась. :)
Whitesquall 17.03.2013 13:34 #
+ 1 -
Плюсик поставить не дают, но в знак благодарности написал скромную статейку. :)
ladykosha 17.03.2013 14:34 #
+ 0 -
Спасибо :) Это гораздо интереснее, чем плюсик.
Впрочем, плюсик поставила :)
le087 14.03.2013 21:13 #
+ 1 -
=) Вот всегда, когда рассказываю девушкам про то, что это очень круто понимать в программистких штуках, добавляю, что им от ковалеров отбоя не будет.
Dark_SS 13.03.2013 16:43 #
+ 0 -
Чеусов Алексей:
посоветуй ей или им "виртуальные словари обозвать rr, er, ee, re. Гораздо быстрее набирать
ladykosha 13.03.2013 20:45 #
+ 0 -
Совет мудр, пока не оказывается, что есть словари языков с общей начальной буквой. У меня уже так. А я ещё намерена попробовать увеличить количество словарей. :)
cheusov 13.03.2013 18:12 #
+ 2 -
JFYI. dict://dict.mova.org

Если что-то не так, не надо стесняться обращаться за помощью или с вопросами.
Апстрим и для dictd и для dictem добрый ;-)
ladykosha 13.03.2013 20:42 #
+ 0 -
Спасибо, я учту :)
cheusov 13.03.2013 21:53 #
+ 1 -
JFYI. Стратегию nprefix я сделал в расчете на то, что появится графический dict клиент, в котором будет возможность искать не нажимая ВВОД. То есть набрал пользователь букву А, и через, скажем, 0.3 секунды автоматически вывелись слова на букву А, но не все, их много и быстро никак не получится, а столько, сколько можно отобразить в окошке. Плюс возможность скролинга. Отсюда count и skip параметры. Насколько я знаю, такой клиент так и не появился.
cheusov 13.03.2013 22:00 #
+ 1 -
Старые и новые регекспы:

- Basic Regular Expressions
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_03

-Extended Regular Expressions
http://pubs.opengroup.org/onlinepubs/9699919799/basedefs/V1_chap09.html#tag_09_04

BRE: sed, grep, ed
ERE: awk, sed -E (BSD), grep -E, ed -E
Других примеров вагон, найдете сами, я думаю.
carah 13.03.2013 18:17 #
+ 0 -
А есть ли анлийские словари для dict с транскрипцией?
ladykosha 13.03.2013 20:40 #
+ 1 -
Mueller7 с транскрипцией, насколько я вижу.
carah 13.03.2013 18:17 #
+ 0 -
А есть ли анлийские словари для dict с транскрипцией?
cheusov 13.03.2013 20:30 #
+ 1 -
Есть англорусский словарь Мюллера 24-й редакции, в котором транскрипция получена, скажем так, весьма костыльным образом. Можно взять его, но качество там не ахти. Так что если для профессиональных целей, я бы посоветовал купить Lingvo/Babilon/whatever ;-) и конвертнуть его в dict формат. Конвертилки из Lingvo .dsl, stardict и sdict у меня есть, могу поделиться. [email protected].

BTW. Не стоит забывать, что dictem умеет постобрабатывать контент, например так.

http://mova.org/~cheusov/pub/screenshots/dictem/
cheusov 13.03.2013 20:40 #
+ 2 -
Список работающих серверов можно глянуть здесь.

http://dict6ot.appspot.com/servers

Whitesquall 19.03.2013 14:21 #
+ 1 -
Попробовал, понравилось. А ведь давно сам хотел что-то подобное, периодически в том же IRC, могу встретить незнакомое слово, и лезу после в Google Translate, а это стало раздражать.
С dict/dictd до этого не сталкивался, но для себя сделал некоторые выводы:
1. Т.к. работаю на нескольких машинках, dictd надо запускать на отдельном хосте с собственным набором словарей, дабы не копировать их на каждую. У dict.mova.org очень богатый выбор, настроил dict на работу с этим хостом на первое время.
2. Не хватает работы с фразами: выделил регион, вызвал функцию, а она тебе перевод. Было что-то подобное запакетировано в ELPA для работы с другими сервисами. Понятно, что данный протокол не преследует эту цель. Потому буду думать дальше.
3. Потребовалось чуточку доработать работу с буферами, часто использую разделение фрейма емакса на несколько окон, потому добавил следующий код в конфиги:
 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
(defadvice dictem-run-search (around ws/dictem-fullscreen activate)
"Fullscreen `dictem-run-search'."
(window-configuration-to-register :ws/dictem-fullscreen)
ad-do-it
(delete-other-windows))

(defadvice dictem-run-define (around ws/dictem-fullscreen activate)
"Fullscreen `dictem-run-define'."
(window-configuration-to-register :ws/dictem-fullscreen)
ad-do-it
(delete-other-windows))

(defun ws/dictem-quit-session ()
"Kill the dictem buffer."
(interactive)
(kill-buffer)
(jump-to-register :ws/dictem-fullscreen))

(define-key dictem-mode-map (kbd "q") 'ws/dictem-quit-session)

Это позволяет сохранять конфигурацию окон, и восстанавливать её по выходу на 'q'.

Смотреть онлайн бесплатно

Онлайн видео бесплатно


Смотреть русское с разговорами видео

Online video HD

Видео скачать на телефон

Русские фильмы бесплатно

Full HD video online

Смотреть видео онлайн

Смотреть HD видео бесплатно

School смотреть онлайн