Те кто не видел меня за работой говорят "это же не удобно", те кто видел - "можно медленнее, а то я не успеваю". Давно хотел про это рассказать, тред об эффективности =>
Сразу дисклеймер. Мне действительно бывает неудобно на 13 дюймах, когда я занимаюсь отладкой чего-либо в браузере, но в остальном это вопрос организации пространства. Я много работаю в пути и у меня нет одного места, поэтому изначально все это была вынужденная мера. В какой-то момент удалось придумать систему, которая за годы особо не меняется несмотря на развитие технологий, так как она довольно универсальна. Она базируется на некоторых особенностях, которые далеко не все смогут себе адаптировать, но по крайней мере появится представление
Начнем издалека. Один из базовых навыков это слепая печать. Дело не только в том, что не смотришь на клавиатуру, а в том, что правильная постановка рук очень помогает эффективно нажимать всякие комбинации. Например использовать оба шифта. Подробнее https://guides.hexlet.io/ru/typing/ .
Мне как-то повезло, что в 12 лет, когда у меня появился компьютер, я сразу наткнулся на "соло на клавиатуре" и уперся в него по полной. Сначала научился печатать на русском и почти сразу уже сам догнал английский, так как руки знали правильную механику работы. Даже учил дворак
Следующим шагом было понимание, что надо владеть комбо. Это еще началось даже до программирования, когда я рубил в старкрафт. Потом уже во всех редакторах кода я постоянно тратил время на статьи, раскладки и заучивание комбинаций. В то время, кстати, был на коне netbeans
Общая концепция была такая: использование мышки должно быть сведено к минимуму. Фактически я использую мышку, а точнее трекпад только для серфинга в интернете. Переключение программ, вкладок, набор и редактирование кода, все на 100% без мышки и это еще до вима.
Во всех операционках есть примерно один базовый набор комбинаций перемещения и выделения через стрелки + вариации с shift и ctrl. Это минимум который работает везде (в любых полях для ввода, не обязательно код) и который полезно научиться использовать.
Так как ctrl используется в комбо достаточно часто, то его лучше переместить на capslock, туда где он и был изначально. Это спасает от постоянного выламывания рук. Вимерам так вообще обязательно.
Еще одна важная кнопка - command, тут повезло маководам. Она лежит под большим пальцем и снимает опять же нагрузку с мизинца, значительно упрощая нажатие многих комбинаций. Сначала не привычно, потом уже страшно возвращаться обратно. Кстати, в крутых клавах все на больших пальцах
Дальше еще больше специфики маков. Так как у маков все унифицировано, то переключение вкладок во всех программах это: shift + command + []. Все доводится до автоматизма моментально. Дальше нам это пригодиться, когда я буду говорить про терминалы
Переключение самих программ работает по cmd + tab. Причем работает это так, две последние программы меняются между собой если последовательно нажимать cmd + tab и отпускать. Что является важной частью моего способа работы.
В моей работе, в подавляющем большинстве случаев нужно работать с двумя программами: браузером и редактором. Они обе развернуты на весь экран и переключение по ним я делаю быстрым нажатием cmd + tab и обратно тем же самым нажатием. 100% автоматично для мозга и всегда одинаково
Так мы получаем первую ось переключения, я ее называю "в глубину". Очень важно чтобы программы было две, иначе трюк с cmd + tab не пройдет и придется думать о переключении. А вот внутри программ переключение идет "в ширину" по вкладкам и в браузере и в редакторе. Каким образом?
Если с браузером все понятно, там действительно просто вкладки, а как быть с редактором? И вот тут однообразия подхода позволяет добиться то, что я работаю в консольном виме. Такой вим встроен в терминал, где работают такие же вкладки!
Работая с кодом мне как и всем нужны обычно: редактор, консоль, репл, логи, место для запуска тестов. Все это делается отдельными вкладками терминала (а не блоками в редакторе), обычно от 2 до 5 на проект когда я с ним работаю. И все переключение идет как в браузере по вкладкам
Порядок этих вкладок у меня определен, чтобы переключение в любом проекте было автоматическим, мне не надо думать где я щас нахожусь. В итоге получается что я с большой скоростью и на полном автомате хожу и в глубь и в ширину. В один момент времени на экране что-то одно
Консольность дает еще пару плюсов: легко войти в tmux и работать удаленно полностью как локально, поэтому разработку Хекслета я делаю на внешней тачке не меняя вообще ничего в своей работе. Ну и консоль это значительная экономия в ресурсах, хотя я сам на это не смотрю
Еще забыл третий важный момент с Iterm. Он позволяет еще разбивать вкладку на окна внутри себя, что добавляет еще глубины (и простое переключение через cmd + []:
Эта схема построена на нескольких подходах для унификации:
1. Горячие клавиши
2. редактор только для кода, остальное в своих вкладках консоли
3. редактор встроен в консоль, поэтому всего две программы для переключения (браузер и консоль)
Здесь мне хочется поделиться одним наблюдением. В моем подходе глаза всегда остаются на месте, меняются только окна и довольно быстро. При этом я моментально вхожу в ритм. Но обычно все по другому, на экране много всего и переключение требует перевода глаз и это медленно
На протяжении своей карьеры я много работал в парах с разными людьми и всегда наблюдал одну и ту же картину, что на больших мониторах, особенно если их несколько, переключение занимает чудовищное время, так как надо уводить глаза и фокусироваться. И не важно какая среда.
Да и для проформы, я работал на 27 дюмовом imac и сбежал с него) В целом мне это напоминает разницу между ssd vs hdd, но не настаиваю, просто многолетние наблюдения за теми, кто бегает глазами за фокусом на мониторе. Всегда хочется отобрать клаву и сделать быстро самому :D
Да и вся эта история подразумевает то, что стрелки не используются вообще. Руки в моей схеме не уходят от базового положения (есть такое в слепом наборе) совсем никогда. Ну только если надо тачпадом по пользоваться мотая ленту или жмякая ссылки
Забыл упомянуть что на 13 маке действительно мелковат шрифт, для постоянной работы, поэтому первым делом я увеличиваю его.
Присоединяйтесь — мы покажем вам много интересного
Присоединяйтесь к ОК, чтобы подписаться на группу и комментировать публикации.
Нет комментариев