Зачем нужна мышь, если есть клавиатура?

в 7:34, , рубрики: gtd, IDE, vim, продуктивность, производительность труда, слепой набор

image Несмотря на провокационный заголовок, я не стремлюсь разжечь холивар. Я хочу поговорить о не используемом потенциале клавиатуры, о тех вещах, которые помогают повысить производительность программиста и избавят от лишних телодвижений в сторону мыши.

Слепой метод печати

Начнём с классики жанра, это фундамент. Хотя вы можете поспорить о важности слепой печати для программиста, но если вы смотрите на клавиатуру, чтобы найти нужную букву, то все остальные пункты данной статьи для вас будут бессмысленными (или нет).

Для программиста не критична скорость печати, потому что большую часть времени мы думаем, а печатаем совсем немного (относительно копирайтеров, например). Нам важно уметь находить клавиши с закрытыми глазами.

Все помнят Соло… Шахиджаняна… И лично у меня этот тренажёр отбил всё желание научиться печатать. В общем, курс неплохой, но подача и мелочи убивают весь энтузиазм. Поэтому его лучше опасаться.

Тренажёры

  • klava.org – хороший тренажер, куча режимов. Я выбрал его;
  • stamina-online.ru – есть куча уроков, но сделан не так приятно, как предыдущий. Ещё есть рекламные баннеры для тех, кто хочет похудеть;
  • klavogonki.ru – занимательная вещь. Соревнования с другими людьми (в реальном времени) в скорости печати.

Этот список можно продолжать очень долго, если хотите ещё, гуглите. Главное запомнить, что нас интересует английская раскладка, конечно, если вы не программируете в 1C.

Vim

Многие слышали про редактор Vim, но не многие пробовали в нём работать, а ещё меньше работают. Это и не мудрено, Vim не из тех штук, которую можно взять и сразу пользоваться. К нему нужно привыкать через боль и унижение, потому что в первое время производительность существенно упадёт. Но оставим сам Vim для тру-линуксоидов. Лично меня интересует его философия. В Vim пишут клавиатурой, а не мышкой. Другими словами, Vimway — это минимизация телодвижений для достижения результата.

Для популярных редакторов и IDE есть плагины, позволяющие прикоснуться к святыне. Sublime Text из коробки имеет такой плагин, называется Vintage Mode (по ссылке инструкция).

В IDE от JetBrains можно установить официальный плагин IdeaVim.

Суть такова: есть два режима – Insert Mode и Command Mode. В первом мы печатаем как обычно, а во втором курсор изменяется и появляется возможность использоваться заветные команды, которые экономят кучу времени. Например, перемещение курсора осуществляется клавишами H(←), J(↓), K(↑), L(→). То есть вам не надо тянуться к стрелкам, чтобы подвинуть курсор. Руки всегда остаются над одной и той же областью клавиатуры.

Лучше один раз увидеть:

С первого взгляда это может показаться сложным, но по мере привыкания вы поймёте всю прелесть Vimway. Обычно команды в плагинах соответствуют оригиналу, поэтому гуглите команды Vim’a или ставьте на рабочий стол такие обои. И, как говорилось выше, важно клацать по кнопки вслепую. Со временем это дойдёт до автоматизма.

Я теперь крутой?

Определенно, да. Но хотелось бы рассказать про ещё одну крутую штуку. Несмотря на всю функциональность Vim’а, иногда надоедает руками «ездить» по коду. Хочется быстро переместиться в нужное место, а не переходить к строке и догонять курсор к нужному атрибуту. Порхать по коду нам поможет следующая приблуда:

  • Sublime Text – EasyMotion;
  • В IDE от JetBrains мне попадались два похожих плагина это AceJump и QuickJump. Первый мне нравится больше, потому что в первую очередь биндит переходы на буквы, а не на цифры. А у второго больше функционал.

Опять же лучше увидеть, как это работает:

Заключение

Помимо всего выше сказанного, стоит отметить о важности изучении среды, в которой вы работаете. Современные IDE дают невероятный функционал и кучу горячих клавиш, от которых порой голова идёт кругом, но оно того стоит. Освобождается пространство, занимаемое панелями кнопок и деревьями каталогов, повышается продуктивность. Так же обратите внимание на полноэкранный режим (он есть практически во всех редакторах), даёт невероятное погружение и концентрацию.

Можно было бы упомянуть о Zen Conding/Emmet, но это узкоспециализированная штука для веб-разработчиков, поэтому опустим.

Программируйте клавиатурой, а не мышкой.

Спасибо за внимание.

Автор: Miklos

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js