Skip to content

generalov/KeyboardLayoutSwitcher

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

30 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keyboard Layout Switcher

See this text in Russian below.

What is it

Keyboard Layout Switcher (KLS) is plugin for Vim, which frees users from unnecessary actions.

What does it do

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.

Default keyboard layout

Usually it is U.S., but KLS provides using others layouts, for example, typography layout by Ilya Birman.

How does it works

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.

Preferences

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.

Compatibility

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

Что это такое

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, то вы можете перекомпилировать исходный код вспомогательного приложения самостоятельно.

About

Plugin for Vim, which provides smart keyboard layout switching. It is only for Mac OS X and X11.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vim Script 51.1%
  • C 48.9%