Перевод слов не выходя из vim


ramok аватар

ramok - Posted on 23 Декабрь 2007

Установим консольный клиент StarDict и настроим кой какие словари.

$ apt-get install sdcv
$ mkdir -p ~/.stardict/dic/
$ cd ~/.stardict/dic/
# русско-англиский и англо-русский словари и Анг
$ wget http://heanet.dl.sourceforge.net/sourceforge/stardict/stardict-{ER,RE}-LingvoUniversal-2.4.2.tar.bz2
$ wget http://heanet.dl.sourceforge.net/sourceforge/stardict/stardict-lingvo-{ER,ER}-Computer-2.4.2.tar.bz2
# русско-немецкий и немецко-русский словари
$ wget http://heanet.dl.sourceforge.net/sourceforge/stardict/stardict-{GR,RG}-LingvoUniversal-2.4.2.tar.bz2
$ for i in *.bz2; tar jvf $i; done
# опционально - удалить все
$ rm *.bz2
$ 

Берем плагин к vim translateit и настраиваем его

$ wget -O translateit.vim http://www.vim.org/scripts/download_script.php\?src_id\=7836
$ mkdir -p ~/.vim/plugin
$ mv translateit.vim ~/.vim/plugin

Проверяем как работает:
открываем любой файл, наводим курсор на нужное слово и жмем \d или ,d в зависимости от ваших настроек .
В результате у вас должно открыться новое окно с вариантами переводов. Закрыть окно в :q или переключится между окнами Ctrl-W Ctrl-W.

0
Ваша оценка: Ничего

по моему пользоваться контекстным переводчиком от Stardict значительно легче. разве что без иксов.. :-)

а что значит "легче"?
напиши тут совет как с ним работать Ж:-)
--
Signature invent in progress 24% ##........

нашел еще один вариант, смотрит в dict
http://vim.wikia.com/wiki/Lookup_word_in_dict
правда там можно упростить убрав recode и использовать dictl что бы он автоматом выводил в правильной кодировке
--
Signature invent in progress 24% ##........

А я сделал вот так %)

function! s:mueller(word)
    if a:word != ""
        let rs = system("grep -i -P ^" . a:word . " ~/dict/mueller-dict")
        if rs == ""
            echo "no translation found :("
        else
            echo rs 
        endif
    else
        echo "no word to translate!"
    endif
endfunction
map ,t :call <SID>mueller(expand("<cword>"))<CR>

а зачем тут -P?
а если несколько вариантов перевода?
--
Signature invent in progress 24% ##........

Оно выводит все варианты. -P - этипа perl-regexp ;-)

а зачем тут перловcкие регеспы? ^ и без них grep понимает

а у меня в мюллере если несколько вариантов то они на несколько строчек разбиты
--
Signature invent in progress 24% ##........

Я себя как-то с перловскими чувствую лучше :)

хех Ж:-)
всегда интересно знать предысторию вопроса Ж:-)

--
Signature invent in progress 24% ##........