http://habrahabr.ru/company/kato/blog/244011/

Горячие клавиши (или shortcuts) позволяют ускорить работу с любым продуктом — можно вспомнить известную всем комбинацию клавиш Ctrl+C/Ctrl+V, используемую для копирования и вставки. Приложения для общения не являются исключением — например, в Gmail присутствуют
десятки шорткатов. Проблема с этими клавиатурными сокращениями заключается в том, что многие из них могут
не работать на различных устройствах или операционных системах.
Для того, чтобы избежать таких проблем, разработчикам приходится прибегать к нестандартным решениям. Сегодня мы расскажем о том, как внедряли в сервис Kato клавиатурные сокращения, соответствующие идеологии Unix-редактора Vim.
Зачем нужны горячие клавиши
Предназначение горячих клавиш очевидно — они призваны помочь пользователям тех или иных программных продуктов сэкономить свое время. Представители проекта Brainscape
подсчитали, что при в условиях восьмичасового рабочего дня использование горячих клавиш может помочь сэкономить до 8 рабочих дней сотрудника в год.
По их подсчетам, экономия времени при совершении одного и того же действия с помощью горячих клавиш вместо мышки составляет, в среднем, две секунды. Это значит, что если сотрудник не пользуется хоткеями, то при длине рабочего дня равной 480 минут и 240 рабочих днях в году, он впустую потратит 64 часа за год.
Исследователи использовали для грубого подсчета впустую потраченного времени следующую формулу:

Таким образом продуктивность каждого сотрудника может быть увеличена на 3,3%, что в рамках компании довольно много. Реальный результат, конечно, будет ниже, поскольку никто не пользуется мышкой непрерывно 480 минут в день, однако тот факт, что горячие клавиши помогают добиться значительной экономии времени, неоспорим. К тому же использование хоткеев просто гораздо веселее и может скрасить даже выполнее довольно скучной работы.
Работа с электронной почтой и общение с коллегами и так отнимают большое количество времени (по данным некоторых исследований, до
трети) сотрудников компании, поэтому возможность ускорения некоторых действий в процессе общения не будет лишней.
При этом разные операционные системы по-разному обрабатывают нажатие горячих клавиш, вследствие чего некоторые шорткаты, объявленные для определенной платформы, могут не работать у пользователей других платформ…
В ходе работы над сервисом для бизнес-коммуникаций
Kato мы пробовали различные варианты горячих клавиш, но каждый из них обладал определенными минусами. В результате пришлось создавать собственное универсальное решение.
Редактор Vim спешит на помощь
Знакомый любому пользователю операционных систем семейства Unix текстовый редактор Vim, обладает двумя режимами работы — в командном режиме осуществляются различные именованные действия (перемещение по тексту, удаление символов и т.п.), а в режиме вставки осуществляется экранное редактирование текста.

Преимущества переключения между режимами состоит в том, что пользователю не приходится зажимать клавиши вроде command, shift или alt и тянуться пальцами к другим кнопкам на клавиатуре.
В Kato пользователи общаются по работе в различных «комнатах» и организациях с разными коллегами, поэтому инструмент, который позволял бы экономить время и перемещаться между комнатами и организациями быстрее, был необходим. Для его реализации мы решили не изобретать велосипед, а воспользоваться решением из редактора Vim.
Как это работает
Очевидно, что командный режим «как в Vim» нужен только достаточно продвинутым пользователям. Поэтому по-умолчанию он выключен и активируется в настройках за несколько кликов.
После включения командного режима (клавиша Esc) сразу вводить текст уже нельзя — нажатие на некоторые клавиши будет интерпретировано сервисом, как команда. Переключиться в режим ввода и редактирования текста можно, нажав клавишу i.
Вдохновившись идеологией Vim, мы постарались максимально использовать имеющиеся там клавиатурные сокращения (полный их список доступен
на сайте).

После включения командного режима интерфейс продукта существенно меняется, и он подойдет не всем. Однако пользователи, преодолевшие трудности «периода привыкания» и начавшие применять шорткаты, уже не могут от них отказаться — настолько возрастает эффективность и удобство работы.
Внедрение подхода Unix-редактора оказалось нестандартным ходом, который полностью оправдал себя — пользователи Kato благодарят за его реализацию.
На сегодня все. В следующем материале мы расскажем о том, как внедряли в Kato режим разметки, позволяющий создавать сообщения, оформленные почти как настоящий документ.