See this text in Russian below.
Keyboard Layout Switcher (KLS) is plugin for Vim, which frees users from unnecessary actions.
It switchs keyboard layout to default keyboard layout when:
- Vim is starting;
- You are leaving input mode;
- You are entering command mode;
- You are pressing double <Esc> in normal or command modes.
And wait, wait…
- KLS strores keyboard layout, when Vim lost focus and restores this layout, when Vim got input focus.
Imagine, you are editing source code in Vim. In some moment you are digressing, for example, to write in Twitter. When you will be back to Vim, KLS restores keyboard layout automaticly. It is incredibly handy.
And each tab has itself keyboard layout.
Usually it is U.S., but KLS provides using others layouts, for example, typography layout by Ilya Birman.
Keyboard layout switches by additional application, which is wrotten in Objective-C. When it starts without arguments, it prints index of current layout (for example, U.S. layout has index 0). To switch to some keyboard layout you should start the application with argument, which corresponds to the layout. If there is no layout with index, then application prints -1.
Vim plugin provides the control. I tried to comment source code maximal detailed, to everyone can understand it.
As I said, usually default keyboard layout is english U.S., so in fact you don’t need to edit preferences.
If you want to use another keyboard layout as default, just add to your ~/.vimrc this line:
let g:kls_defaultInputSourceIndex = n " n is index of wanted keyboard layout
You can get index of wanted layout with additional application: just switch to the layout and execute additional application. It will return the number, which is the index of the layout.
KLS works only on Mac OS X 10.6 and higher. If you are still using 10.5, you can recompile source code of additional application by yourself.
And sorry for my english-hooenglish :).
Keyboard Layout Switcher (KLS) — плагин для Vim, который освобождает пользователя от лишних телодвижений.
Переключает клавиатурную раскладку на раскладку по умолчанию:
- При запуске Vim;
- При выходе из режима ввода;
- Во время входа в командный режим;
- При двойном нажатии <Esc> в нормальном и командном режимах.
И подождите, подождите…
- Запоминает раскладку, если фокус был потерян, и восстанавливает её при возврате фокуса.
Представьте, что вы редактируете исходный код в Vim. В какой-то момент вы отвлекаетесь, например, чтобы написать в Твиттер. Когда вы вернётесь в Vim, KLS автоматически восстановит раскладку. Это невероятно удобно.
При этом каждый таб помнит свою раскладку.
Обычно это английская раскладка США (U.S.), однако, KLS позволяет использовать иные раскладки, например, типографскую раскладку Ильи Бирмана.
Непосредственно переключением раскладки занимается вспомогательное приложение, написанное на Objective-C. Запущенное без входных параметров оно печатает номер текущей раскладки (например, английская раскладка США обычно имеет номер 0). Чтобы переключиться на определённую раскладку, необходимо запустить приложение, передав ей в качестве параметра нужный номер. Если раскладки с переданным номером нет, то приложение напечатает -1.
Логикой занимается Vim-плагин. Он обеспечивает весь функционал, используя вспомогательное приложение. Я постарался максимально подробно комментировать исходный код плагина, чтобы любой мог разобраться.
Как уже говорилось выше, из коробки в качестве раскладки по умолчанию используется английская раскладка США, потому дополнительная настройка фактически не требуется.
Если вы всё же хотите использовать другую раскладку, то просто добавьте в ваш ~/.vimrc строку:
let g:kls_defaultInputSourceIndex = n " Где n — номер нужной вам раскладки.
Номер нужной раскладки можно узнать, переключившись на желаемую раскладку и затем запустив вспомогательное приложение. Оно и вернёт нужный номер.
KLS работает только в Mac OS X 10.6 и выше. Если вы всё ещё используете 10.5, то вы можете перекомпилировать исходный код вспомогательного приложения самостоятельно.