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

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

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


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

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

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

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


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

Но если печатные тренажеры заставили Вас разбить клавиатуру, есть другой способ. leventov вспомнил про Легкий способ научиться слепому десятипальцевому набору.

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, но это узкоспециализированная штука для веб-разработчиков, поэтому опустим.

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

Спасибо за внимание.
Поделиться публикацией

Комментарии 103

    0
    Да, а еще IdeaVim начинает дико глючить во всяких модальных окнах Intellij Idea, когда ты начинаешь вводить название файла, а в это время что-то начинает стираться, потому что ты нажал d.
    З.Ы. Релевантно было для него год назад.
      0
      Еще до недавна глючило, но теперь перестало. Более того, теперь он загружает конфиг из ~/.ideavimrc; поддерживается, к сожалению, не все, но можно, например, перемапить клавишу.
      –8
      По-моему, использование Vim для программирования в современных реалиях сродни проведению операции через замочную скважину. Уже давно у программистов совершенно другие рабочие места. Большие мониторы Full HD, огромные возможности автоматизации и намного бОльшие размеры проектов.
      Мне было бы интересно, как в виме можно провести рефакторинг кода. Например, добавить параметр в функцию. Это же ужас.
        +4
        Для этого можно использовать IDE от JetBrains с IdeaVIM, как сказано в статье. Из личного опыта, редактировать текст (что происходит намного чаще, чем рефакторинг) определенно быстрее с VIM.
          0
          IdeaVIM пол года назад глючил, по мелочи, но пришлось переучиться назад на стрелочки (пол года до этого работал с VIM)
          +8
          Vim — невероятно продуктивный редактор текста, если его изучить. Кроме того, страдаю от туннельного синдрома. После перехода на vim симптомы практически исчезли, так как при работе с vim не надо напрягать руки/кисть, растопыривая их по клавиатуре.

          И vim ортогонален IDE, в общем-то. В PyCharm, например, использую IdeaVIM.
            0
            Сомневаюсь, перетаскивать куски кода, редактировать одновременно во многих местах, снимая выделение с ненужных и многое другое гораздо удобнее делать в Саблайме с использованием мышки.
              0
              В VIM этот сценарий тоже довольно удобен: нужно найти паттерн, который необходимо отредактировать (например, используя /), сделать изменения, а потом повторять n.. При этом n без точки заменяет find_under_expand_skip из Sublime.
                0
                Лично мне ещё лениво жать кучу клавиш. Неохота набирать тот же паттерн, который может быть очень длинным, когда его можно в два счёта выделить мышкой.
                  0
                  Найти слово под курсором – *. Всего один символ.
                    0
                    А кто сказал, что там всего лишь одно слово? ;-)
                      +4
                      С не одним словом немного труднее, но тоже не так страшно. Скажем, нужно поискать 3 следующих слова:
                      y3w (yank three words)
                      / ^R0 (search, put the content of the register 0, which is the default register)
                      При этом опытный VIM'er гарантированно сделает это быстрее чем вы дотянетесь до мыши, если только вы не Лучший Стрелок Дикого Запада.
                +2
                Давайте будем конструктивными и говорить о удобстве и неудобстве, только в случае если осилили оба способа.

                В Vim есть режим выделения строк в коммандном режиме. Если нажать просто “v" — то по передвижению курсора будет выделяться блок текста. Если же нажать большую “V” то бишь с шифтом, то по передвижению вверх вниз будет выделяться целый блок строк, от начала и до конца, целиться не надо.

                Потом нажимаем “dd” чтобы вырезать или “yy” чтобы скопировать. Переходим на строку после которой нужно вставить и нажимаем “p”.

                У меня эта операция занимает никак не больше времени чем мышкой, причём Vim я начал осиливать несколько месяцев как.
                  0
                  Всё равно для такого выделения надо нажимать много кнопок. Мышкой проще и быстрее.
                    +1
                    Если печатаешь вслепую, то быстрее с клавы. Мышь потому нравится большинству людей, что они работают с ней вслепую, а с клавой смотря на неё.
                      0
                      Я владею как слепой печатью, так и быстро орудую мышкой (в старкрафт играл, если вы понимаете о чём я). Проблема в том, что мы быстро печатаем нормальные слова вроде «Hello, world» (хотя и тут я запнулся от спешки), а случайный набор символов печатается гораздо хуже. Что ещё хуже, добавляются цифры и спецсимволы. Сочетания вроде «/ ^R0» набираются заметно дольше «hello». С другой стороны мышкой это делается в пару движений. Например, переставить кусок кода: выделить нужные строки и перетащить в нужное место. Сосчитайте сами сколько надо нажать клавиш в виме для тех же действий, особенно если это не целые строки, а начало и конец где-то в серединах строк. Да, можно натренироваться (а у вима и без этого высокий порог входа) и делать это не сверхбыстро, но с приемлемой скоростью, но мышкой быстрее, проще и удобнее. И, конечно же, мышь тоже должна быть настроена: ускорение выключено, чтобы двигалась предсказуемо, ехать она должна легко и т. п.
                        0
                        Не удобные сочетания это дело привычки всего лишь. Правда стандартные клавы не очень то и удобны для нормальной работы вслепую, для перемещения курсора приходится перемещать руку со стартовой позиции печати, потом обратно. Нужны клавы, где руки не нужно никуда перемещать.
                          0
                          Они не только неудобные, надо жать слишком много клавиш. Лично мне лениво столько нажимать. А для быстрого перемещения ещё отлично помогает тачпад: он как раз под руками.
                            0
                            А мне лениво целиться мышью и выделять кусок кода, чтобы все что надо было и ничего лишнего.

                            Поэтому, всё по-прежнему сводится, к ослил/не осилил и кому как удобнее.

                            В любом случае, чтобы мнение было объективным — нужно попробовать оба способа на протяжении некоего периода времени. А так я могу сказать, что носки с отдельными пальцами — это неудобно, хотя сам их никогда не носил.
                              –1
                              Если с мышкой всё в порядке, то целиться особо не надо, всё на автомате хорошо получается. Поэтому она и выигрывает, если хорошо освоить оба метода.
                  0
                  Пардон не внимательно прочитал. Да Sublime крут в этом плане. Но и в Sublime у меня постоянно включен Vintage mode.
                  0
                  Туннельный синдром он не от «растопыривания рук по клавиатуре», а из-за неверного положения рук.
                    +1
                    Я работаю на ноутбуке, причем часто вне дома, поэтому какие-то кастомные мега-клавиатуры мне не подходят. Не буду же я таскать их всюду с собой.

                    И, мне кажется, дело даже не в постановке рук, над которой я работал, а в продолжительности работы за клавиатурой.

                    Рекомендую просто, если проблемы с болью в руках, попробовать перейти на vim. Вместе с работой над эргономикой рабочего места и позицией рук, конечно.
                      0
                      Не сказать, чтобы я работаю за клавиатурой очень много (всё-таки не стенографист/копирайтер, а разработчик), но вроде хватает… В общем пару раз отхватывал «приятные ощущения» (в первую очередь на мышке) — изменение позиции на правильную резко возвращала работоспособность.

                      А у ноутбуков с эргономикой ещё и в том проблема, что они сравнительно «высокие» и «близкие» — клавиатура слишком высоко и слишком близко относительно монитора, из-за чего сложно руки расположить правильно и при этом нормально работать за компьютером.

                      В общем — в первую очередь надо подумать над эргономикой рабочего места (можно ещё со специалистами от медицины на эту тему пообщаться). А эргономика движений (вызываемых интерфейсами) — она наверное более индивидуальная штука (у меня руки просто не переварят зависание на одной точке).
                  0
                  Для Vim есть куча плагинов, которые добавляют функциональность и получается отличная IDE.
                    +1
                    Имея опыт превращения Sublime Text в IDE могу сказать, что это всё не то. Ощущается так, как будто работаешь с горой костылей. Хотя возможно это не относится к Vim.
                    –1
                    попробуйте в современной ide сделать поиск с заменой по регулярке с 40 по 67 строку файла например. В vim/emacs делаются за пару секунд такие вещи, если что-то часто используется, можно накинуть на сочетание/клавишу.
                    Повседневный рефакторинг типа переименования функций с помощью ctags/etags и прямых рук получается не хуже любой ide, но удобнее и гибче. Не встречал еще функционал, который был в pycharm и который нельзя прикрутить к emacs ( vimscript ниасилил, lisp подзатянул ). Уверен, в виме дела не хуже.
                      0
                      Idea, Netbeans — выделяешь блок текста (40 по 67ую строку) -> замена (регулярка, результат).
                      Если вы о каком-то функционале не знаете — это не значит, что его нет.
                        –1
                        Так долго же. Выделять вручную, весь процесс в несколько действий. По моему

                        :
                        40,67s/find/replace
                        Enter

                        Попроще будет, чем:

                        Go to line,
                        (Shift + down arrow ) * количество строк
                        Search and replace

                        Особенно велело вам будет выделять с 40 по 200 напиример — либо задалбывать кнопку вниз, либо мышавозить аккуратно, что бы не промазать.
                        Я не говорил, что это невозможно в современных ide, я говорил попробуйте.
                          +1
                          А мышку-то вы где потеряли?

                          PS Таким функционалом вообще не интересовался, но можно и без выделения, а можно и выделение с клавиатуры задать.
                          PPS а ещё у Idea есть замечательное блочное выделение по ctrl-w (внесение в выделение блока текста, начиная со слова или фразы — в зависимости от исходной точки, заканчивая при повторных нажатиях любым блоком кода — чем дольше нажимаешь, тем больший блок попадает в выделение.
                            +4
                            А как вы узнаете, что вам нужны строки именно с 40-ой по 67-ю? (Что это за задача такая, интересно?) То есть, вы сходите на начало метода, посмотрите номер строки — 40, запомните, потом на конец — запомните 67. И только потом будете вводить эти команды. А в IDE вы сразу выделяете метод и делаете замену.

                            Кроме того, замена чаще требуется не по регулярке, а определенной переменной, либо названия метода и т.п. Там (в IDEA) еще проще: встали на заменяемого курсором, Shift+F6, написали новое, Enter. Красота.
                              0
                              Этот пример показывает, как можно в пару движений сделать то, для чего в идее уже к мыши тянутся. И да, представьте себе, есть ситуации, когда нужно провести поиск с заменой по регулярке в диапазоне строк.
                              Сравнивать возможности идеи в выделении/перемещении с vim/emacs — вообще верх глупости.
                              Аналогов shift + f6 для vim/emacs куча написана, реализованные разными способами, при том любой можно изменить/настроить/переделать.
                              Возможность полностью кастомизировать инструмент — вот это красота, а не обычная функция, повешанная на хоткей.
                              0
                              велело вам будет выделять с 40 по 200 напиример

                              Нумерация строк — позапрошлый век, а выделять мышкой запросто: ставите курсор на начало 40-й строки (при этом не зная ее номера), далее кру́тите колесом на 200-ю (опять-таки, не по номеру, а по содержимому), нажимаете Shift и клацаете мышкой на конец 200-й строки — все выделено!
                          +3
                          Вот мои несколько примеров из личного опыта использования Vim в реальных проектах.

                          Большие проекты:
                          Например, я могу в своем GVim на первой вкладке открыть окна для разработки под Oracle (на данный момент проект несколько сотен тысяч строк кода). На второй вкладке открыть окна для разработки на ExtJS MVC-приложений. И меня вполне все устраивает.

                          Рефакторинг
                          Плагинов для умного рефакторинга а-ля Reshaper, не нашел. Но тем не менее, вот понадобилось заменить функцию почти в 100 файлах, это было сделано двумя командами:
                          $vim *.sql
                          :argdo %s/old_function/new_function/g
                          Меня это возможность выручала кучу раз.
                          Regexp'ы тоже всегда на подхвате.

                          Возможности автоматизации
                          Vim очень гибок в вопросе автоматизации. На месте можно быстро записать макрос, в случае необходимости отредактировать и сохранить на будущее. Одной командой можно запустить выполнение макроса в определенных или всех буферах, определенных (или всех) строках. Если требуется действительно что-то сложное, то можно это запрограммировать на vimscript, lua, python, ruby или еще как-нибудь. Яркий пример система автокомплита YouCompleteMe от гугловца Val Markovoic.

                          Большие мониторы
                          У меня два FullHD монитора. При таких условиях работать, действительно, удобно. Не представляю, как десятки лет назад разработчики обходились стандартной консолью 80x25.

                          Итог
                          Да, чтобы освоить Vim, надо этого хотеть, иначе ждет разочарование. Хотя и звучит парадоксально, но если немного постараться и привыкнуть к его интерфейсу, то Vim становится прост в использовании.
                            +2
                            Хоть и пользуюсь emacs, поддержу оратора:

                            Большие проекты:

                            Для комфортной навигации по коду достаточно ctags и cscope. По коду практически любых проектов практически любого размера. Куча людей работает с ядром linux в vim/emacs, причем не только тех кто начинал с ним 20 лет назад. Хорошая навигация по файлам очень важна — у меня в текущем проекте > 300 открытых файлов, при разных задачах я включаю разные способы переключения — по имени, нечеткий поиск по имени, хоткеи для часто посещаемых файлов. Вообще чем больше проект, тем больше я кастомизирую среду под него, а всех способов кастомизации никакая IDE не предусмотрит.

                            Рефакторинг:

                            Не так страшен черт как его малюют. Все эти киллер фичи IDE типа переименования метода и изменения его сигнатуры — это не то, что занимает 99% времени работы с кодом. А если уж приходится с этим сталкиваться то ack и макросы работают на ура. Остальные рефакторинги в IDE мне никогда не были нужны. Я имею ввиду чтобы решить задачу или как-то кардинально сэкономить время на ее решение. В плане рефакторинга я как веб-программист 90% времени сталкиваюсь с необходимостью отрефакторить мешанину из html/php/js в представление, логику и клиентскую логику. И макрос который разбрасывает куски кода по нескольким файлам(создавая новые при необходимости) тут гораздо полезнее всего того, что может дать IDE.

                            Возможности автоматизации:

                            Макросы нужны как минимум для рефакторинга. Пример — у меня была папка с кучей мелких js файлов, где было неясно на какой странице они сидят и от каких переменных зависят, буквально по функции в каждом. Нужно было склеить это дело в 3 полновесных контроллера. Я написал макрос, который дописывал в начало файла пустые глобальные переменные и делал lint. В зависимости от того с какой из дописанных переменных lint проходил успешно, исходный файл дописывался к нужному контроллеру. Хорошая автоматизация — это та одна фича за которую я готов простить emacs все его недостатки.

                            Настройка

                            У меня 4 вида автодополнения замапленые на 3 разные хоткея — по файлам в каталоге, по символам кода и тэгам, по уже введенным словам, а также нечеткое автодополнение, которое тяжело описать, но которое может по одной кавычке дописывать целые блоки кода, экономя десятки нажатий на клавиши. И в разных ситуациях я решаю какой хоткей нажать, чтобы быстрее получить желаемый кусок текста. Про приятные мелочи, типа пуша на сервер и открытие соответствующего тикета в багтрэкере по одной клавише я даже не буду упоминать, тем более что в некоторых IDE есть интеграция с багтрэкерами.

                            Разные условия

                            С vim/emacs вы сможете работать везде. Иногда это важно. Я не раз сталкивался с параноидальными людьми, которые дают доступ на свои сервера только через teamviewer и дают устанавливать софт только из стандартных репов. Или вы просто не сможете развернуть у себя рабочее окружение и вам нужно будет работать по ssh, да порой не просто по ssh с хреновым каналом, при котором о работе через sshfs лучше забыть.

                            Итог

                            Если вы серьезно занимаетесь программированием и при этом не рефакторите ынтырпрайз целыми днями, то вы неизбежно придете к решениям типа vim/emacs либо прямым путем, либо будете прикручивать те же костыли к своей IDE.
                              –1
                              Откуда такие абсолюты в утверждениях? Вне зависимости от типа проекта — я не приду к vim/emacs (которые непонятно ещё дадут ли чего, а глубокое обучение уже нужно), и не буду «прикручивать костыли к своей IDE» — в этих самых IDE столько функционала, что его изучать и изучать ещё…
                                +1
                                Мне кажется это у вас абсолют, выражающийся в отрицании того что с течением времени вы будете пытаться улучшить инструмент с которым работаете, делая свою жизнь удобней.
                                  0
                                  Если вы присмотритесь:
                                  и не буду «прикручивать костыли к своей IDE» — в этих самых IDE столько функционала, что его изучать и изучать ещё…


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

                                  А вообще отдача при изучении IDE, как мне видится, выше, чем отдача от изучения vim.
                                    0
                                    Надо комбинировать. IdeaVim например.
                                0
                                Приходилось месяц работать над действительно крупным проектом по ssh-сессии (вдаваться в то, откуда такие трудности, не буду). Так вот, tmux, vim, exuberant-ctags и ack-grep полностью решали возложенные на них задачи и дискомфорта не ощущалось отчасти потому, что обычное desktop-окружение у меня очень схожее, только tmux заменяет нормальный X-овый менеджер, dwm.

                                На самом деле пользоваться машиной можно практически без использования мыши или иных манипуляторов. Терминал и редакторы, понятно, тут мышь не нужна; вьюверы вроде evince, mupdf и llpp понимают раскладку vim и позволяют как минимум прокручивать содержимое документа; для firefox есть vimperator и с ним можно управляться вполне сносно (для любителей emacs есть conkeror).

                                Если в наличии есть клавиатура от thinkpad с trackpoint, то ситуация еще лучше.
                            +6
                            А у меня вышло наоборот — если бы не Соло на клавиатуре, так бы наверно и не научился печатать. В общем, у каждого свой вкус и подход к обучению, так что «держаться подальше» я бы точно не рекомендовал — попробуйте все и выберите то, что вам больше всего подходит.
                              +2
                              поддерживаю, слепой печати на русской раскладке научился как раз по СОЛО, как и моя жена. А вот английской учился по какому-то онлайн курсу, но благодаря СОЛО понял, какой подход к обучению необходим.
                                0
                                СОЛО — это просто быстрый способ научиться печатать. Научиться печатать можно и без этих всех программ — просто набирая нужные тексты, но не так эффективно.
                                +6
                                Шахиджанян далекие 7 лет назад научил меня набирать вслепую на клавиатуре. Прекрасно научил! А про отбивания желания — это все вопрос к себе. Если хочешь научиться, тебя ничто не остановит, а если не хочешь, любой крутой курс окажется бессилен.
                                  +1
                                  Впервые услышал эти названия в этой статье. Что сказать, моим учителем были вареная и мморпг различные. Когда от скорости набора зависит, умрет твой герой и потеряет 4% опыта, которые ты качал на протяжении недели, то навык быстрой развивается моментально и совершенно естественно. В общем хоть какая-то польза от этих игр осталась
                                    +5
                                    Я написал, что тренажёр не плохой. Но в нём слишком много саморекламы, слишком много Шахиджаняна. Писать по 100 раз фразы с этой фамилией невероятно бесило. Ещё этот звук при совершении ошибки я помню до сих пор. И там были странные письма благодарных солистов. Поэтому Соло запомнился мне как камера пыток.
                                    На то время альтернатив не было, поэтому курс можно назвать хорошим, но сейчас есть куча подобных тренажёров без лишних нравоучений.
                                      –2
                                      Лично я на Стамине обучался и тоже помню звуки ошибки, но я их вспоминаю с радостью, музыкальная тема и прочие звуки были на пять баллов. Иногда даже специально хотелось ошибиться чтобы звук услышать, наверное поэтому у меня до сих пор достаточно большой процент ошибок — около 2%
                                        0
                                        Звуки — отключаются настройками (ага, я тоже не знал, сапорту написал — удивился). Как и визуальные эффекты, кстати…
                                        Собственно — я не прошёл этот курс. НО я с его помощью научился слепой печати (причём на базис русской раскладки весьма неплохо легла английская раскладка).

                                        PS он реально не тренажёр, а курс. И там свой педагогический подход, который, вполне возможно, не универсален (не подходит всем).
                                          0
                                          Соло эффективен, но обладает перечисленными Вами чертами. Есть другой тренажер, не такой напрягающий — называется VerseQ.
                                        0
                                        Установил Ace Jump — достаточно удобно, особенно когда много мелкого текста на экране. Спасибо!
                                          +2
                                          Хорошо отучает от использования мыши программирование в удалённой виртуальной машине через VPN по 3G — отрисовка графического интерфейса происходит с задержкой иногда на две-три секунды, так что просто не видишь реакции на действия мыши, и проще делать всё с клавиатуры.
                                            +3
                                            Стоит еще добавить про тайлинговые оконные менеджеры. Если часто приходится работать больше чем с тремя окнами — это просто невообразимо удобная вещь.
                                              0
                                              Заинтересовали, можно чуть поподробнее, или хотя бы примеры?
                                              –1
                                              2-3 монитора рулят, ага… И никаких тайлингов не надо.
                                                –1
                                                Оппозиция! Не бойся высказаться!
                                                Смотрел я на тайлинги — они значительно менее удобны ещё одного монитора. Возражения?
                                                  0
                                                  При чём здесь доп. монитор? Он избавляет вас от необходимости таскать мышкой окна приложений?

                                                  Плюс, в многомониторной конфигурации tiling wm ещё больше уделывает стековый, тк там перебросы окон между мониторами делаются опять же 1 кнопкой, как и между рабочими столами.
                                                    –1
                                                    При чём здесь доп. монитор? Он избавляет вас от необходимости таскать мышкой окна приложений?

                                                    Абсолютно. У меня все окна «максимизированы». Чем больше мониторов, тем легче переключать контекст. Но меньше двух — уже тяжко.

                                                    Плюс, в многомониторной конфигурации tiling wm ещё больше уделывает стековый, тк там перебросы окон между мониторами делаются опять же 1 кнопкой, как и между рабочими столами.

                                                    В win-системе одним хоткеем (про другие — не знаю).

                                                    PS в тайлингах мне не нравится, что пространство монитора (итак небольшое) приходится делить на несколько источников информации.
                                              0
                                              Я чертыхался от всех тренажеров печати, спас легкий способ. Добавьте в пост.
                                                –1
                                                Vim – весьма полезный для некоторых задач редактор (например, идеальный инструмент чтоб через ssh на сервере что-то быстро пофиксить). Для поседневного использования отталкивает лишь полнейшая неинтуитивность, огромное множество шоткатов и комманд, которые как "вилька и тарэлька – это нельзя понять, можно лишь запомнить".

                                                Многие задачи удобнее и быстрее выполняются с помощью мыши (не всегда полностью мышью, но с помощью неё).
                                                То есть, я к тому, что не надо упираться в крайности – «только мышью» или «только клавиатурой».

                                                Лично для меня, пока что, идеалом является Sublime Text – его fuzzy-менюшки оставляют возможность пользоваться шоткатами вместо мыши, но при этом заучивать ничего не нужно – только 1 комбинацию для вызова fuzzy-поиска.
                                                При этом никто не мешает выполнять мышью операции, которые удобнее выполнять именно визуально – выделение текста, перемещение курсора.
                                                  0
                                                  Если нужно именно понять vim, то есть хорошая книга Learn Vimscript the Hard Way.
                                                    –1
                                                    Спасибо, но при наличии большого количества отличных современных редакторов, лично я не понимаю, зачем нужно именно понимать Vim более, чем необходимо для хотфиксов через ssh. Не спорю, возможно, кому-то это нужно…
                                                      0
                                                      Могу говорить за себя, но мне лично не нужно, чтобы IDE что-то генерировала или соображала за меня. Напротив, необходим максимально удобный и гибкий инструмент работы с кодом, что собственно и предоставляет vim. Настроить можно абсолютно все и организовать именно удобным тебе образом.
                                                      Ну и на счет вашего аргумента — есть проекты, где весь код компилируется на удаленных машинах.
                                                        –1
                                                        Не очень понимаю, что имеется в виду под «генерировала», «соображала за меня». IDE, в моём понимании, лишь инструмент для работы с кодом. Впрочем, как я писал выше, мне очень нравится Sublime Text, который не совсем IDE, а скорее многофункциональный текстовый редактор (как и Vim).

                                                        Компиляция кода вообще где угодно может происходить, не очень понимаю, зачем в этом процессе нужен текстовый редактор… В любом случае, я ж не против Vim вообще. Я против Vim лично для меня :) Просто потому, что он менее удобен (для меня), чем более современные инструменты.
                                                        0
                                                        Большинство современных редакторов плоть от плоти блокнота и кровь от крови его и главная их фича точно такая же как у блокнота — с ними может работать неопытный пользователь.
                                                        Главная фича Vim — комфорт, которого блокнот дать не может by design. Ради этого комфорта и стоит учиться пользоваться Vim. Пусть это и требует определённых усилий.
                                                          0
                                                          Как я вижу ситуацию:
                                                          «Блокнот»:
                                                          + всё интуитивно
                                                          + не надо запоминать ничего
                                                          ‐ мало возможностей
                                                          ‐ медленная работа с кодом
                                                          ‐ Нельзя использовать через ssh

                                                          Vim:
                                                          + Много возможностей (кастомизация, плагины, etc)
                                                          + Быстрая работа с кодом (если освоить)
                                                          + Можно использовать через ssh
                                                          ‐ Необходимо заучить кучу комманд и шоткатов
                                                          ‐ Неинтуитивные (для неопытного пользователя) режимы

                                                          Sublime Text:
                                                          + Много возможностей (кастомизация, плагины, etc)
                                                          + Быстрая работа с кодом (сразу)
                                                          + Всё интуитивно
                                                          + Не надо запоминать
                                                          ‐ Нельзя работать через ssh

                                                          Повторюсь, такова картина лично для меня.
                                                            +2
                                                            >Нельзя работать через ssh
                                                            Тут пишут, что можно.
                                                              –1
                                                              Я немного не то имел в виду. Можно открывать в ST файлы через ssh, но нельзя работать через ssh-консоль с произвольным сервером и пользоваться там ST для редактирования файлов, когда нужно. Vim-то он практически везде установлен.

                                                              update: А, о, это я не сразу понял, о чём пост. Да, спасибо, прикольно. Но всё равно это требует неких танцев с бубном, хоть и небольших.
                                                                –1
                                                                Работает, спасибо. Круто, но это, всё-таки, не совсем то же самое. Vim установлен практически на любом сервере + не требует ничего, кроме консоли. Можно хоть со смартфона использовать.
                                                                +1
                                                                Быстрая работа с кодом это конечно интересно, но в этом отношении IDE кроют ненастроенный и неоплагиненный вим как бык овцу. И Sublime Text тоже кроют. И разницы между vim и Sublime Text по сравнению с IDE в этом отношении почитай, что и нету.

                                                                ssh тоже не сильно важно.

                                                                А вот насчёт интуитивности к Sublime Text большие вопросы. То есть Ctrl+v, Ctrl+c и Ctrl+x это в общем интуитивно, как и стрелки, как и сочетание Ctrl+стрелки.
                                                                А вот чтобы выделить слово, кажется надо нажать Ctrl+d. Это ни разу не интуитивно и это придётся запоминать, как и огромную кучу других хоткеев. Но так как Sublime это такой расширенный и улучшенный блокнот — работать можно и без них. Правда удобство работы с текстом — тоже как у блокнота, хоть и на стероидах.

                                                                Вим подходит к проблеме более радикально. Он вообще в руках неопытного пользователя умеет только пищать и всё портить. Но применение принципиально другой схемы работы с текстом позволяет обученному пользователю творить чудеса, на которые блокнот не способен в силу отсутствия модальности.
                                                                  –2
                                                                  Полноценные IDE обычно некастомизируемы чуть менее, чем полностью. А ST отлично превращается в ту IDE, которая нужна именно каждому конкретному разработчику. Хотя, конечно, оно не на 100% универсально. Например, для разработки под iOS\Mac OS всё равно Xcode будет намного удобнее, а для какого-нибудь, простихоспади, APS.NET – Visual Studio+resharper нет равных.

                                                                  Для выделения слова вам не нужно ctrl+d, используйте ровно ту же комбинацию, которая используется для выделения слова в вашей ОС. В Mac OS, например, это Option+Shift+Right (или Left, в зависимости от того, в начале слова или в конце стоит курсор).

                                                                  В общем, я согласен, в ST, для удобства, нужно выучить несколько хоткеев. А можно не учить и пользоваться мышкой. Или меню (для некоторых функций). Или переназначить хоткеи как вам удобно будет. Я привёл это в пример как контргаргумент Vim, где абсолютно для любого действия нужно помнить хоткей или комманду.

                                                                  Если не сложно, приведите пример какого-нибудь «чуда» из Vim.
                                                                    +1
                                                                    В разрезе выяснения значимых отличий Vim от Sublime Text обсуждение кастомизируемости что того, что другого эффективно не более, чем удобство работы с кодом. Правда по другой причине — они одинаково сильно поддаются кастомизации. В разумных пределах конечно. Из Sublime Text сделать Vim проще, чем в Vim реализовать Sublime, но мы вроде не об этом.

                                                                    А вот дальше интересно. Комбинацию, которая используется для выделения слова в ОС можно без проблем использовать в любом из исчадий блокнота — никаких проблем. И это действительно плюс ST, но он идёт в графу «Просто для использования неопытным пользователем». Потому что, как вы совершенно верно отметили, так слово можно выделить только если курсор стоит в начале или в конце слова. Что конечно ужасно неудобно. А если он в где-нибудь в середине, то неизбежно придётся читать про Ctrl+d.

                                                                    Короче, если не учить хоткеи, то отличия Саблайма от блокнота вообще сводятся к минимуму. А если пользоваться мышью, то наверное единственная его фича — это миникарта файла. И собственно всё. Ну то есть тоже интересно конечно, но для того, чтобы пользоваться им по несколько часов в день — как-то маловато.

                                                                    Что для абсолютно любого действия в Виме надо помнить хоткей или команду — большое преувеличение. Что такое режимы придётся выяснить — это да. А дальше можно обходиться минимумом. Можно даже пользоваться стрелками. Только работать не используя всё богатство возможностей редактора неудобно независимо от названия этого редактора. Изучать придётся и ST и Vim.

                                                                    Приводить примеры чудес всегда нелегко. Особенно в случае с вимом. Если для того, чтобы крутить сальто нужно год тренироваться — кому нужно это сальто и, что самое главное, какое же это чудо :). Но я попробую.

                                                                    Чудо — это вообще весь Вим и его режимы.

                                                                    Чудо — что не нужно тянуть руку к стрелкам каждый раз, когда хочешь чуть-чуть передвинуть курсор. И что для выделения кусков текста не надо зажимать одновременно несколько клавиш.

                                                                    Чудо — что если ты подредактировал строку, а потом после беглого просмотра файла понял, что надо вписать в ту же строку ещё что-нибудь — достаточно набрать gi и курсор окажется в конце последнего редактированного куска.

                                                                    Чудо — что для первого поиска сделующего вхождения слова под курсором нужно набрать *, а для того, чтобы найти где оно встречается в третий раз достаточно нажать n. А чтобы найти где оно встречается выше по тексту — N.

                                                                    Чудеса не в том, что можно сделать в Виме, а в том как это делается.

                                                                      0
                                                                      Если не учить хоткеи, то у нас остаётся fuzzy-поиск с большинством необходимых комманд – с ним ничего учить не надо, достаточно ввести несколько символов комманды. Причём, не обязательно даже точно помнить, как она называется.

                                                                      Без использования хоткеев и комманд Vim будет НАМНОГО медленее и неудобнее обычного «блокнота», хотя бы за счёт перемещения курсора стрелками по 1 символу.

                                                                      Чудо — это вообще весь Вим и его режимы.
                                                                      Не очень понимаю. Всегда думал, что режимы – это неизбежное (в Виме) зло. Где-то даже на Хабре статья про это была, что это просто анахронизм, оставшийся «с той поры».

                                                                      Что значит «тянуть к стрелкам»? Они у меня всегда под рукой. Про выделение не очень понял. Но в любом случае, нивелируется чудом «множественные выделения» в том же ST.

                                                                      Чудо — что если ты подредактировал строку
                                                                      Чудо – в обычном блокноте вообще не надо ничего нажимать, курсор там и будет, где мы подредактировали…

                                                                      Чудо — что для первого поиска
                                                                      А второе вхождение? А десятое? Для каждого – свой хоткей, что ли, учить? в ST есть поиск всех вхождений выделения по одному хоткею. Или не просто поиск, а выбор всех этих вхождений и одновременное редактирование. Или поиск всего этого во всех файлах проекта, например. Жаль, пока что нет редактирования прямо на экране результатов поиска – вот это и вправду чудо было бы.

                                                                      Чудеса не в том, что можно сделать в Виме, а в том как это делается.
                                                                      Простите, мне нужен инструмент, который будет помогать работать, а не тот, работать с которым можно будет вопреки этому инструменту…

                                                                      Предлагаю на этом остановиться, т.к. даже этот мой коммент уже выходит в зону холиварщины… Обидеть никого не хотел, если всё-таки задел чем-то – извиняюсь.
                                                                        +2
                                                                        Не холивара ради — ради демонстрации чудес. Огромное чудо в виме — это макросы. Это очень мощное средство, с помощью которого можно творить настоящую магию едва касаясь клавиатуры. Можно записать любую последоветельность нажатий клавиш, которую вим воспроизведет.

                                                                        Небольшой пример (и немного Objective C).
                                                                        gif
                                                                        Есть весьма неоднородный код:

                                                                        @propetry (strong, nonatomic) NSString *string;
                                                                        @propetry NSUInteger someInt;
                                                                        @propetry (weak, nonatomic) id <SomeDelegate> delegate;
                                                                        


                                                                        Из которого мы хотим получить следующее:

                                                                            self.string = string;
                                                                            self.someInt = someInt;
                                                                            self.delegate = delegate;
                                                                        


                                                                        «Множественное выделение» нас не спасет в этом случае. Однако, на помощь приходят макросы. Всего-то нужно набрать $bd0>>iself.<Esc>lyeea = <Esc>pj0 и потом воспроизвети макрос два раза 2@q.

                                                                        Выглядит страшно? Возможно, однако если расшифровать — то все настолько красиво, что непроизвольно радуешься. Смотрите, какой получается рассказ:

                                                                        $     (переместимся в конец строки)
                                                                        b     (а теперь на одно слово назад)
                                                                        d     (удаляем) 0 (все до начала строки)
                                                                        >>    (сдвигаем код вправо)
                                                                        i     (начинаем набирать текст)
                                                                        self.
                                                                        l     (двигаемся на один символ вправо)
                                                                        ye    (копируем слово)
                                                                        e     (теперь переходим в его конец)
                                                                        a     (начинаем набирать текст)
                                                                         =·
                                                                        p     (вставляем скопированное слово)
                                                                        j     (переходим на следующую строку) 0 (и перемещаемся в ее начало)
                                                                        


                                                                        А второе вхождение? А десятое? Для каждого – свой хоткей, что ли, учить?


                                                                        Итого, я не пользуюсь хоткеями. Я говорю с компьютером. Мне не нужно учить для каждого действия свой хоткей. Я могу просто сказать n — «найди вхождение». И точно так же могу сказать 10n — «найди десятое вхождение». Если мне нужно перейти на начало строки, я говорю 0 — «начало строки». Если мне нужно удалить все до начала строки, я говорю d «удали» 0 «все до начала строки». Либо d «удали» b «предыдущее слово».

                                                                        А теперь угадайте, что будет, если я захочу найти/скопировать/заменить/перевести в верхний регистр/… слово/абзац/содержимое кавычек, скобок/…
                                                                          –1
                                                                          Боюсь вас огорчить, но макросы доступны в любом современном редакторе. В ST, например, тоже. Не все хотят говорить с компьютером, чаще нужно решить необходимую задачу. То есть, цель – получить результат, а не насладиться процессом получения.
                                                                            0
                                                                            Спасибо, не знал. В таком случае у ST есть шанс. :)

                                                                            Так разговоры с компьютером не в ущерб результату. Все происходит на автомате, я набираю предыдущий пример за секунд 7. Я даже ни на секунду не задумываюсь — хотя, если задуматься, то можно увидеть красоту. А обычно я просто получаю результат — переместиться на пол-файла и заменить все внутри кавычек "" — мгновение, и все готово. Результат как раз получается максимально быстро, минимальным количеством нажатий клавиш и шевелением пальцами (вот если бы нужно было тянуться к мышке — нет, увольте, это в разы большие затраты энергии и времени).
                                                                            0
                                                                            К слову, если вы подскажете, чем вы такой gif-скринкаст сделали, я покажу, как данную операцию в ST можно сделать.
                                                                              +1
                                                                              Видео записывал при помощи Screenflick, инструкция по конвертации в gif тут.
                                                                                0
                                                                                Спасибо. Вот:
                                                                                Скрытый текст
                                                                                image
                                                                                Выделяем все три переменных, копируем их, переходим в конец строки, удаляем лишнее, перескакиваем через слово влево, удаляем всё до начала строки, добавляем нужное, вставляем скопированные имена.


                                                                                Никакой магии, никаких хоткеев, кроме общесистемных. (Объективности ради – в случае, если таких строк будет не 3, а 133, то удобнее будет не выделять каждое слово отдельно, а выделить весь текст и воспользоваться хоткеем «поставить курсор в каждой строке»)
                                                                                  0
                                                                                  Я пытался подобрать пример, чтобы не сработало множественное выделение, как видно не удачно. В случае, если необходимо будет выбрать строки на основе регулярного выражение, скопировать их из одного файла в другой, при этом изменив, и повторить это для многих файлов — то саблайм уже не подойдет.

                                                                                  Однако, это весьма надуманный и специфичный пример. Есть очень много различных мощных инструментов, которые мало чем уступают друг другу. Каждому свое, дело вкуса. Я сам, в свое время, выбирал между вимом и емаксом — в пользу первого было лишь перемещение по тексту с помощью hjkl, вместо Ctrl+буква у второго.
                                                                                    0
                                                                                    Предполагаю, что для любого инструмента можно придумать пример, который можно будет реализовать только и исключительно в нём. :) Пока что, за несколько лет работы с ST, я не столкнулся с какой-то задачей при редактировании кода, которую было бы неудобно решать…

                                                                                    Насчёт выбора строк по регулярке – для этого в ST можно использовать поиск по регулярке (можно сразу выделить все вхождения), далее всё так же, как и с одиночным выделением – просто скопировать и вставить в другой файл.
                                                                                    С множественными файлами примерно так же, просто копировать надо будет не прямо из окошка файла, а из результатов поиска (куда выведутся все вхождения по всем нужным файлам).
                                                                            +1
                                                                            Коротко скажу, что fuzzy-поиск это интересно, правда относится это не к редактированию текста, а к облегчению порога вхождения. То есть фича не текстового редактора, а любой программы. Но всё равно прикольно. И одновременное редактирование найденных значений тоже хорошо, хоть по сути неотличимо от find and replace. В остальных мелочах вы просто плохо информированы по поводу Вима и хорошо по поводу Саблайма.

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

                                                                            На моей клавиатуре от home row до стрелок — сантиметров 10. Переносить руку на эти 10 сантиметров при малейшей необходимости подвинуть курсор, а потом, когда надо что-то напечатать — переносить руку обратно — верный путь к нервному расстройству. Конечно, если печатать вслепую не умеешь и вообще набираешь текст медленно и двумя пальцами, а правая рука и так ходит между клавиатурой и мышью — действительно создаётся иллюзия, что стрелки под рукой, но платой за эту иилюзию является низкая эффективность работы с редактором.

                                                                            И режимы в Виме выполняют функцию ограждения пользователя от ужасов постоянного перемещения правой руки между мышью, стрелками и буквами. Без них Вим не нужен, в них его смысл и высокая миссия :). Именно с их помощью Вим помогает работать и несёт добро в мир!

                                                                            А вот по поводу того, что вам не нужен инструмент, который будет помогать работать — это я покривил душой. Просто это не единственное ваше требование к инструменту. Вам, судя по вашим словам, также важно, чтобы кривая обучения была как можно более пологой, а лучше вообще отсутствовала. То есть есть какое-то соотношение степени в которой инструмент помогает жить и того, насколько трудно им овладеть.

                                                                            И это безусловно правильный подход, если только большая часть вашей жизни не проходит в работе с текстом. Если вы занимаетесь текстом постоянно, то на овладение инструментом не жалко потратить время, потому что это экономия времени в итоге будет колоссальна. По крайней мере так считают те, кто пользуется вимом или емаксом.

                                                                            P. S. Вы никого не обидели, не переживайте. Холивары — в свободное от работы время — крайне полезная и интересная штука ибо при участии в них велик шанс узнать что-то радикально новое.
                                                                              +1
                                                                              > Всегда думал, что режимы – это неизбежное (в Виме) зло.

                                                                              Нет, это киллер-фича. Выход из insert mode в command mode в vim позволяет использовать всю клавиатуру и все возможные буквенные keychord-ы для операций над текстом. В обычных редакторах, если судить с позиции vim, огромная часть keychord-ов жёстко забита на вставку текста, оставляя для хоткеев лишь Ctrl, Alt, Shift комбинации (плюс часть небуквенных клавиш и мышь).

                                                                              > Что значит «тянуть к стрелкам»? Они у меня всегда под рукой.
                                                                              При слепой печати — нет.

                                                                              > А второе вхождение? А десятое? Для каждого – свой хоткей, что ли, учить?

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

                                                                              Плюс что, поиск n-ного вхождения — это такая частая операция, что мы её вдруг используем для проверки редактора на крутость? Я разработчик и не помню ни разу, чтобы такое мне понадобилось на практике хоть раз в жизни. Вот vim-овский инкрементальный поиск /, n, n, N, n, — сплошь и рядом. Такими вопросами можно доказать, что любой редактор плох, достаточно задавать всё более экзотические вопросы «а может ли так ваш редактор».

                                                                              > в ST есть поиск всех вхождений выделения по одному хоткею. Или не просто поиск, а выбор всех этих вхождений и одновременное редактирование.

                                                                              Ну во-первых давайте тогда ваш вопрос про N-ный результат поиска и к ST применим, чтобы честно было. На том уровне, на котором я знаю ST, ответ для ST — «возможно только через скриптование». Для vim, как видите, ответ «возможно из коробки». Мультикурсорность — да, это одна из самых крутых фич ST, не имеющих известных мне аналогов в vim/emacs.
                                                                                +1
                                                                                Квазирежимы круче на порядок, зажал модификатор, и ты в квазирежиме, отпустил его, и снова в основном режиме.

                                                                                Правда модификаторы надо делать на больших пальцах, тогда все остальные будут свободны для работы с этим модификатором, и будет достаточно по одному (вместо двух шифтов — один на большом пальце, вместо двух Ctrl — один на большом пальце), ну и модификатор для второго слоя.

                                                                                Пример, если сделать Shift на большом пальце, то им можно заменить аж три кнопки, левый и правый шифт, и Caps Lock, последний становится не нужен, зажал Shift, и печатай себе.

                                                                                VIM конечно это не только режимы (по сути разные слои плюс терминал под рукой), но и навороченные возможности по редактированию текста, но вот почему-то добавление слоя со стрелками на основную позицию рук оказалось достаточным, чтобы везде работать с большим удобством, даже без кучи специальных команд, просто используя комбинации с Shift, Ctrl, Del, Backspace, стрелок, и т.п.
                                                                                  0
                                                                                  В теории было бы хорошо такое иметь даже в vim, но реальное положение дел следующее:

                                                                                  — На стандартной клавиатуре до шифта большим пальцем не дотянуться. И вообще, зажатие клавиши-модификатора обездвиживает руку, особенно это видно на составных командах vim («2dW» или «d(» не набрать с какой бы то ни было зажатой modkey без страданий).

                                                                                  — Нет редакторов (известных мне), которые бы позволяли при зажатой modkey функциональность как в vim command mode. Одиночные команды ещё ладно, а вот аналогов для составных команд нет.
                                                                                    0
                                                                                    Стандартная клавиатура плохо подходит для нормальной работы, или надо тюнинговать раскладку. Если модификатор на большом пальце, то рука не обездвижена, в этом и идея.
                                                                                      0
                                                                                      По поводу теории, я так уже почти три года работаю на CatBoard, поэтому утверждаю с позиции практики. В теории сейчас моя новая разработка — кнопка Quasi в новой клавиатуре Ладошки, клава ещё не готова, поэтому идея пока не опробована, там получается на одно нажатие больше, зато не надо раскорячивать руки, можно что угодно набирать, даже одной рукой, и мышью управлять с клавиатуры (не для рисования, а для управления в оконной среде, нажимать ссылки, кнопки, меню), чтобы руки не снимать с клавы вообще.
                                                                                        +2
                                                                                        Ух ты, классная вещь.

                                                                                        Я педалью пользуюсь для смены режима vim =)
                                                                                        www.kinesis-ergo.com/shop/savant-elite-2-pedal/

                                                                                        Но всё это привязывает к конкретной машине
                                                                                          0
                                                                                          Как будто все работают на чужих машинах, даже у сисадминов есть своя машина. На чужой нужно бывает лишь адрес в браузере набрать, ну или пароль там, но не будешь же сидеть и код или документ писать.

                                                                                          Хотя и это не проблема, я вот таскаю свою клаву куда надо, даже в Андроид работает (надо только сделать нормальный переключатель раскладки — Ctrl+Shift Down Enter), есть режим MacOS (вместо Ctrl кнопка Cmd/Win, и переключатель раскладки другой). Причём работаю в своей раскладке JCUKEN, а компы все настроены на стандартную QWERTY. Просто подключил клаву даже к чужому компу, и как дома.
                                                                                0
                                                                                Если есть перепрограммируемая клава с кучей кнопок на больших пальцах, то можно обойтись без VIM, и нормально работать в любых программах. Для этого достаточно вынести стрелки в основную область Fn+IJKL (например), вынести модификаторы на большие пальцы (в этом случае достаточно одного шифта и контрола). И лучше чтобы были квазирежимы, а не режимы, так гораздо удобней работать, отпустил Fn, и снова в основном режиме, нажал её, и нужные кнопки сами прыгнули под пальцы.
                                                                                  0
                                                                                  Давайте будем честными до конца:
                                                                                  — это не чудо, это ваше предпочтение.

                                                                                  Ну это из разряда «дворак лучше для набора текстов» — извините, но при кодинге вы об него споткнётесь множество раз.

                                                                                  Да, я пользовался vim, я даже знаю про различные режимы (и вполне могу подредактировать файл конфигов/...), но мне это не удобно. Точнее удобно, но именно для какой-то быстрой, небольшой операции. А вот кодить я там и с подсветкой синтаксиса и прочими плюшками не смогу. Для этого нужна IDE, а не текстовый редактор.
                                                                        0
                                                                        Эта книга о скриптовом движке Vim, для разработчиков плагинов. Отличная книга по самому редактору — Practical Vim.
                                                                        0
                                                                        Мне Vim сам по себе тоже не люб, но нравится его подход. Поэтому я использую Sublime Text и PyCharm с эмуляцией Vim. И чем больше я этим пользуюсь тем меньше тянусь к мышке. Всё работает на уровне рефлексов. Но конечно для каких-нибудь множественных выделений пользуюсь мышью.
                                                                        +2
                                                                        typing.io — для тренировки печатания исходного кода
                                                                          +5
                                                                          Зачем жрать картошку, если есть капуста?
                                                                            0
                                                                            есть два режима – Insert Mode и Command Mode.

                                                                            А Visual Mode куда делся?

                                                                            Для Vim тоже есть EasyMotion плагин
                                                                              0
                                                                              Я посчитал его подвидом Command Mode. Оставил это для самостоятельного изучения.
                                                                                +3
                                                                                Их немного больше.

                                                                                Normal mode
                                                                                Visual mode
                                                                                Select mode
                                                                                Insert mode
                                                                                Command-line mode
                                                                                Cmdline mode
                                                                                Ex mode
                                                                                Operator-pending mode
                                                                                Replace mode
                                                                                Virtual Replace mode
                                                                                Insert Normal mode
                                                                                Insert Visual mode
                                                                                Insert Select mode
                                                                                +2
                                                                                Насчёт «стрелок курсора» на «основной позиции печати» здесь:
                                                                                +2
                                                                                Печатать в слепую научили меня иностранные-игровые сервера WOW, когда все шли в инст ночью по моему времени. Хотел, не хотел научился печатать в слепую (Да еще и быстро!) в кромешной темноте, и тихо, что бы по шее от родителей не получить :)
                                                                                  0
                                                                                  Я по утрам разминаюсь в gtypist.
                                                                                  Для обучения с клавиатурой перед глазами есть KTouch.

                                                                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                                                                  Самое читаемое