источник 2: http://ru.wikibooks.org/wiki/Vim
Vim при переводах текста, или для чтения английской документации
Итак, чтобы можно было успешно читать и переводить документацию на английском языке, нужно ИМХО всего 3 вещи:- Редактор.
- Переводчик.
- проверка орфографии
Что возьмем
Редактор мы естественно возьмем VIM хотя бы потому что статья так называется. Переводчик mueller консольная версия, работает так:% mueller sex sex [seks] _n. 1> _биол. пол; the weaker sex слАбый пол, жЕнщины; the sterner (или stronger) sex сИльный пол, мужчИны; the sex _шутл. жЕнщины 2> секс 3> _at tr. половОй, сексуАльный; sex instinct половОй инстИнкт; sex intergrade гермафродИтИ орфографмометр: это spell в виме, словари скачаем с vim.org
Как настроим
Мне интересна возможность выпадающего списка, при наведением на неизвестное мне слово мышкой. Для этого, после долгого чтения манов (или гугленья) узнаем что с помошью команды system можно выполнить какое-то действие, вывод которой куда-либо записать. Короче, пишем где-нибудь в ~/.vimrcfunction! MyBalloonExpr() return system("mueller ". v:beval_text) endfunction
set bexpr=MyBalloonExpr() set ballooneval set balloondelay=100
Определили функцию MyBallonExpr которая будет формировать строку mueller [слово на которое навели] и выполнять. Результат выполнения будет выдавать в «балоне» выпадающем окошке, через 100 миллисекунд.
Естественно вместо mueller вы можите поставить любую другую программу, которая переводит текст.
Для перевода по нажатию клавиши
map:call TRANSLATE() function TRANSLATE() let a=getline('.') let co=col('.')-1 let starts=strridx(a," ",co) let ends = stridx(a," ",co) if ends==-1 let ends=strlen(a) endif let res = strpart(a,starts+1,ends-starts) let cmds = "sdcv -n " . res let out = system(cmds) echo out endfunction
Комментариев нет:
Отправить комментарий