Консольный словарь, англо-русская база данных и перевод по клавише в vim. Пришлось немного покопаться, чтобы найти всю эту информацию, поэтому решил собрать всё в одном месте и поделиться.
Установка dictd
Установим программу dictd и стандартные словари:
root #emerge —ask dictd dictd-dicts
Запустим сервис dictd и добавим в автозагрузку:
root #root #/etc/init.d/dictd start
rc-update add dictd default
Словарями можно пользоваться:
user $dict prodigy
From WordNet (r) 3.0 (2006) [wn]:
prodigy
n 1: an unusually gifted or intelligent (young) person; someone
whose talents excite wonder and admiration; «she is a chess
prodigy»
2: a sign of something about to happen; «he looked for an omen
before going into battle» [syn: {omen}, {portent}, {presage},
{prognostic}, {prognostication}, {prodigy}]
3: an impressive or wonderful example of a particular quality;
«the Marines are expected to perform prodigies of valor»
Список словарей можно посмотреть по dict -D. Чтобы использовать конкретный словарь, например, easton, надо выполнить dict -d easton prodigy.
Установка en-ru словаря mueller
Скачиваем исходники mueller-dict-3.1. Также ссылку на скачивание можно найти на mueller-dict.sourceforge.net, там же более подробная информация по установке.
Распаковываем архив и устанавливаем словарь:
user $user $user $user $tar xzfv mueller-dict-*.tar.gz
cd mueller-dict-*
./configure
make
root #make install
Последней команде могут быть нужны права root, чтобы записать файлы в /usr/local/share/dict/.
Теперь надо прописать пути к новым словарям в конфигурационном файле dictd (/etc/dict/dictd.conf или /etc/dictd.conf). Нужно вставить это до строки #LASTLINE! Все изменения, сделанные вручную после этой линии, после перезагрузки пропадут.
/etc/dict/dictd.confdatabase mueller-abbrev { data /usr/local/share/dict/mueller-abbrev.dict.dz index /usr/local/share/dict/mueller-abbrev.index}database mueller-base { data /usr/local/share/dict/mueller-base.dict.dz index /usr/local/share/dict/mueller-base.index}database mueller-dict { data /usr/local/share/dict/mueller-dict.dict.dz index /usr/local/share/dict/mueller-dict.index}database mueller-geo { data /usr/local/share/dict/mueller-geo.dict.dz index /usr/local/share/dict/mueller-geo.index}database mueller-names { data /usr/local/share/dict/mueller-names.dict.dz index /usr/local/share/dict/mueller-names.index}
Перезапустим dictd.
root #/etc/init.d/dictd restart
Использование (удалил из вывода пустые строки):
user $dict -d mueller-base torrent
From Base dictionary [mueller-base]:
torrent
[‘tOrэnt] _n.
1) стремительный поток
2) _pl. ливень
3) поток (ругательств и т.п.)
Если всё работает, то можно удалить архив mueller-dict-*.tar.gz и распакованную из него директорию mueller-dict-*.
Перевод в vim
Научим vim переводить слова под курсором по нажатию клавиши. Перевод будет открываться в горизонтальном split окне. Взято с wiki.solab.rshu.ru и немного модифицировано.
Добавьте в ~/.vimrc:
~/.vimrcfunction! TranslateWord() let s:dict = «dict -d mueller-base» let s:phrase = expand(«<cword>») let s:tmpfile = tempname() silent execute «!» . s:dict . » » . s:phrase . » > » . s:tmpfile execute «botright sp » . s:tmpfile g/^s*$/de normal ggVG<.dd.Jendfunctionmap <F8> :call TranslateWord()<CR>
Не забудьте :source ~/.vimrc.
В 7 строке удаляются все пустые строки для экономии места. В строке 8 весь текст сдвигается налево, курсор возвращается наверх, удаляется две верхних строки с неважной информацией, и объединяются две оставшиеся первыми строки. Всё это для экономии места, возможно, вам будут нужны другие варианты.
Теперь клавиша F8 будет открывать горизонтальное split окно с выводом команды dict -d mueller-base, применённой ко слову под курсором. По ссылке выше приведён ещё вариант для gVim с всплывающим переводом по наведению курсора. Но vimы-gVimы у меня с мышью как-то не ассоциируются, поэтому пользуюсь кнопочным вариантом.
P.S.
user $dict -d mueller-base vim
1 definition found
From Base dictionary [mueller-base]:
vim
[vIm] _n. _разг. энергия, сила; напор; put more vim into it!
поднатужься!, давай, давай!