четверг, 30 мая 2013 г.

Кириллица в Vim

Раньше для редактирования обычных русскоязычных текстов, я обычно откладывал Vim в сторонку и прибегал к помощи других редакторов. Причиной этому была парочка очень неприятных косяков:

На каждый чих приходилось сто раз переключать раскладку, чтобы корректно ввести пару команд и вернуться обратно. Например, замена буквы-опечатки в только что написанном слове, выливалось в: switch → добраться до буквы, нажать r → switch → [нужная буква] → switch → A → [пишем дальше]. Ад!
Штатный spell checker букву «ё» не любил и любое слово с её участием предлагал заменить на аналог через «е». А я ё люблю, меня это расстраивало.
И вот, наконец, я нашёл решение обеим проблемам. Сижу сейчас и набираю этот текст в Vim. Любопытно, что оба барьера обходятся штатными средствами, без дополнительных плагинов. Поскольку материалов на английском и на них основанных куда больше чем исконно русских, найти эту информацию мне было не просто. Поэтому хочу поделиться ей с теми кому интересно.


Переключение раскладки
Я много раз встречался с предложением перемапить символы кириллицы на латинские буквы вроде такого:

map й q
map ц w
map у e
map к r
map е t
map н y
" ... и т.д.

Это решение мне не нравилось из-за того, что оно оставляло несколько проблем. Например, нельзя перемаппить пунктуацию, поэтому двоеточие и слэш на русской раскладке в любом случае переезжают на новые места. Также в режиме вставки нельзя воспользоваться комбинациями вроде Ctrl+W или Ctrl+R. Всё это раздражало.

Нужно другое решение и оно нашлось! В .vimrc:

set keymap=russian-jcukenwin
set iminsert=0
set imsearch=0
highlight lCursor guifg=NONE guibg=Cyan

С чего начать программировать 11 летнему



Игры (программировать играя)


Программирование на Java для детей, родителей, дедушек и бабушек

LEGO
http://mindstorms.lego.com/en-us/default.aspx

Мicrosoft
http://research.microsoft.com/en-us/projects/kodu/



Microsoft — Robotics Developer Studio 4 как запрограммировать робота реального и виртуального.

http://habrahabr.ru/post/166449/Robotics Developer Studio