Киллерфича в vim — это режимы? Серьёзно?

    Недавно вышла статья, которую вы наверняка читали, про то, что vim — хорош, а IDE — так себе, скорость набора текста не та.


    Напомню: главный посыл той статьи был в том, что главная киллер-фича вима — это режимы, благодаря которой всё остальное не важно. При этом автор согласился с тем, что в IntellijIdea и других IDE есть хоткеи и т.д., которыми вполне можно пользоваться. Но режимов то нет, поэтому вим.


    Далее автор предлагает для перемещения по словам вместо ctrl-стрелочка использовать последовательность Esc, e и потом возвращаться в режим редактирования i. Всё это потому, что неудобно удерживать ctrl.


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


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


    Кстати, в IntellijIdea есть способ поменять регистр слова (или выделения) одним нажатием, так что caps lock для констант тоже не особо нужен.


    Вим может быть хорош для редактировния конфигов где-то на серваке. Вим может быть хорош для новых языков, куда еще не добрались хищные лапки Jetbrains. Под вим проще писать свои плагины (в 99% случаев вам это не надо в нормальной IDE). Возможно, удобно редактировать длинные тексты. Но не для обычного же промышленного программирования!


    Тут надо сразу обозначить несклько пунктов:


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


    Можно. Но зачем это нужно?


    Такой странный челендж, когда в IDE уже всё есть, и гораздо удобнее. И совсем необязательно пользоваться мышью!


    Поясню про редактирование без мыши на примере. Вот я открываю IntellijIDEA, создаю новый файл.


    Нажимаю кнопку p, IDE сразу подсказывает, мол, вы хотите набрать слово package? Остается нажать Enter чтобы слово package появилось в редакторе.


    Нажимаю кнопку c, IDE сразу подсказывает нам "class".


    Вводим имя класса (например, Habr), набираем скобку { и IDE сама добавляет закрывающую скобку после курсора.


    Дальше набираю pu, IDE понимает, что это "public". Набираю H и жму Enter, чтобы получить "Habr", потому что IDE поняла, что я создаю конструктор.


    Пишу тело конструктора. Например, вызываю метод init(), которого еще нет. Ide тут же отмечает его красным, что такого метода нет. Я жму alt-enter, и IDE само вставляет куда надо


        private void init() {
        }

    если внутри этого метода я наберу new Habr(5) (слово "Habr" было с подсказкой, конечно), т.е. вызову несуществующий конструктор, IntellijIdea сразу подчеркнет это дело, и нам останется нажать <alt-ENTER> и подсказать, что именно мы хотим: добавить аргумент int в конструктор или добавить новый конструктор с параметром int. Выбираем второе и ide нам сразу добавляет после первого конструктора новый:


    public Habr(int i) {
    }

    Про автоматические отступы и т.д. при редактировании текста я умолчу — это само собой есть.


    Итак, вот что получилось в итоге:


    package x;
    
    class Habr
    {
        public Habr()
        {
            init();
        }
    
        public Habr(int i) {
    
        }
    
        private void init() {
            new Habr(5);
        }
    }
    

    Я нажал буквально пару кнопок и хоткей alt-enter.
    Я не ставил плагины.
    Я не тренировался целый месяц для этого.


    Я ВООБЩЕ НЕ ТРОГАЛ МЫШЬ (эту фразу я набрал капслоком не потому что я такой нервный, а просто по приколу — чтобы поюзать режим).
    Я не переходил ни в какие режимы и не вспоминал комбинации кнопок и педалей. Один единственный alt-enter (это контекстно-зависимая штука, по сути хоткей для "решить проблему").


    Если вы ненавидите мышь, то для навигации по коду есть свои горячие клавиши: можно без мыши перейти к нужному классу, файлу, методу, номеру строки и т.д.
    Можно выделить текст, нажимая несколько раз ctrl-W — и вы выделите текущее слово, текущий текст между скобками и т.д.


    В виме можно перейти к нужному символу. Например, вы видите символ x в строке и прям хотите туда, но мышь вызывает отторжение. В ide тоже можно это сделать: ctrl-f и нужный кусок текста. Это, кстати, своего рода режим. Режим поиска.


    Я могу без мыши перейти к нужному вызову функции, а потом без мыши (ctrl-b) перейти к описанию этой фунции.


    У вима из коробки есть несколько уникальных возможностей редактирования, которых нет в IDE


    • Перейти к следующему/предыдущему абзацу
      Да, это было бы полезно иметь в IDE. Но в основном при редактировании статей для хабра, а не для кода.
    • Перейти до пробела.
      Ну, можно считать полезной штукой, но не слишком крутой. Несколько раз нажать ctrl-стрелочка будет иметь тот же эффект.
    • перейти на полстраницы вниз/вверх.
      Не знаю, надо ли это мне, пока не решил.
    • Перемещение на первую/последнюю/среднюю строку экрана.
      Не знаю, зачем это нужно. Ну то есть, может пригодиться, но не киллер-фича.
    • Можно удалить ровно X строк кода.
      Каждый день так делаю. Вот ровно 19 строк кода надо удалить порою.

    Я тот еще знаток vim, возможно упустил что-то мегаважное. Поделитесь плиз в коментах.
    Нет, конечно, есть еще 100500 плагинов. Но и в IDE они тоже есть, и не меньше.


    Вывод


    Вывод я для себя делаю следующий. Лично мне для редактирования кода вим не нужен, не уговаривайте. Режимы вместо зажатия ctrl или даже ctrl-alt-shift меня не впечатлили. В IDE больше возможностей из коробки, и при этом не надо учить и тренировать комбинации клавиш довольно долгое время. Для большинства повседневных задач в IDE достаточно знать буквально пару-тройку горячих клавиш. Но можно и не знать, если мышь не смущает.


    Давно известно, что при программировании человек тратит основное время на изучение кода, а не на написание. Поэтому, с мышью или без — почти все равно. Хотя, повторюсь, в IDE можно почти всё (а может и вообще всё?) делать без нее.


    Для редактирования конфигов на сервере vim лучше, чем nano. Но при двух условиях:
    1) надо хорошо знать вим
    2) надо реально много конфигов править, чтобы почувствовать выигрыш. Один-два раза в месяц подправить конфиг — достаточно nano или чего угодно.


    Можно начинать минусовать, а, еще лучше, аргументированно возражать :)

    Поделиться публикацией
    AdBlock похитил этот баннер, но баннеры не зубы — отрастут

    Подробнее
    Реклама
    Комментарии 218
    • +12
      Вим может быть хорош для новых языков, куда еще не добрались хищные лапки Jetbrains

      Для них есть Sublime Text, и ещё не меньше десятка классных текстовых редакторов с элементами IDE.
      • +15
        > и ещё не меньше десятка классных текстовых редакторов с элементами IDE.

        На Электроне.
        • –10

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

          • +3

            На моём компьютере то, что на Электроне (Atom, VSCode) или на мозильном ядре (Komodo, Komodo Edit) всё-таки заметно медленнее того, что сделано не из браузера.

            • +1
              Забавная штука в том, что c9.io у меня работает визуально быстрее того же Komodo Ide, хотя он еще более браузерный.
              • 0
                Возможно, это потому что c9.io не рождает для себя новый инстанс всего браузера, а работает в уже запущенном :)
            • 0
              Единственная причина, по которой при разработке используется Electron — это возможность сильно экономить на разработчиках.
              Поэтому если вы видите приложение на Electron, то это верный признак того, что код там писали люди на испытательном сроке или вообще натуральные индусы, возможно даже путём копипасты со stackoverflow. Разумеется, оно будет тормозить и глючить.
            • +2

              Geany — не на электроне.

              • –1
                Вот поругать электрон это всегда всем за радость, но для сравнения возьмите ide на java, там дела ничем не лучше, жрут они ресурсов немало даже при полном простое, отзывчивость интерфейса далеко не мгновенная. Скажете, мол глупо сравнивать ide типа pycharm или webshtorm с поделками на электроне, но взять тот же vscode — по фичастости он почти не уступает, есть режим дебага, интеграция с vcs, таски, встроенные терминалы и тд тп., не говоря уже о количестве плагинов.
                • +2
                  но для сравнения возьмите ide на java

                  Да, ты всегда выходишь победителем если выбираешь себе соперников послабее.

                  Проблемы кривых java ide никак не оправдывают кривости редакторов на электроне.
                  Давайте теперь сравним любую поделку на электроне с нормальным редактором плюсах (Sublime) или с нормальной IDE на плюсах и шарпе (MSVS) или с нормальной IDE на java (даже в IDE от jetbrains'а уже завезли zero-lag typing).
                  Я конечно понимаю что JS это сейчас очень дешево модно и на нем каждый второй школьник умеет писать, но по состоянию на позапрошлую неделю тот же VS Code (который еще более менее адекватный) безбожно проигрывал саблайму в плане отзывчивости.
                  Просто потому что когда ты хочешь скорость в рантайме а не скорость разработки — ты выбираешь соответствующие языки.
                  • +2

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

              • +13
                Если я правильно понял посыл предыдущей статьи, то преимущества вима начнут проявляться, когда вы начнете написанное редактировать: для перемещения по тексту вам постоянно надо будет переносить правую руку на стрелочный блок или мышь. Концепция же вима позволит комфортно работать даже на 60% клавиатуре.
                PS сам я vim совершенно не понимаю, но так я понял предыдущую статью и мне этот аргумент кажется разумным.
                • 0
                  Мышь необязательна в IDE
                  А стрелочный блок — это не биг дил, имхо. Не на столько уж замедляется набор
                  • +6
                    Это если стрелочный блок вообще присутствует. Касаемо на много или мало замедляется набор — не готов обсуждать, так как не имею опыта. Но лично меня раздражает необходимость постоянно переносить правую руку для навигации. Правда, раздражает не настолько, чтобы начать освоение вима:)
                    • +3
                      Меня больше раздражает необходимость зажимать shift при печати скобок. Даешь программистскую клавиатуру с кнопочками для скобочек!
                      • +3
                        И в чём проблема? Отредактировать раскладку клавиатуры довольно просто. Погуглите по запросам тиав custom keyboard layout, уверен разберётесь без проблем.
                        • 0
                          Раскладка «Programmer Dvorak» Вам в помощь!
                          Единственный в нем минус — цифры с шифтом и в непривычном порядке, а поскольку пользуюсь numpad-блоком, я их так и не запомнил как следует [и это за незнамо сколько лет].
                      • +4
                        А стрелочный блок — это не биг дил, имхо.

                        Для многих это именно что биг дил. Особенно, когда приходится переносить туда руку по несколько раз в минуту.


                        Не на столько уж замедляется набор

                        О скорости, как я уже писал в статье, речь не идёт. Речь идёт об удобстве.

                        • +1
                          Покупайте клавиатуру со стрелками в основном блоке.
                          • 0

                            Это какую, например?

                            • 0
                              Ноутбучную, например.
                              • 0

                                Руку двигать всё равно придётся.

                                • 0
                                  Кстати, меня волнует вопрос: почему производители клавиатур не используют пространство слева от буквенно-цифрового блока? Ведь туда тянуться гораздо ближе, чем даже до клавиши Enter. И ведь раньше там располагали функциональные клавиши, которые потом убрали в верхний ряд — ради двух дополнительных кнопок, или есть какая-то другая причина?
                                  • 0

                                    Меня вот гораздо больше волнует — почему там мало клавиатур, на которых клавиши располагаются строго друго над другом :)

                                    • 0
                                      А зачем?
                                      • 0

                                        Говорят, печатать вслепую гораздо удобнее. Опять же, нет асимметрии между правой и левой частью клавиатуры. Всё это по идее очень приятно. Были бы они дешевле и доступнее — давно купил бы и попробовал.

                                        • 0
                                          Всё сильно зависит от положения рук при печати, скорее всего удобно будет только в случае раздельных правого и левого блока клавиш… Где-то на хабре или гиктаймсе уже было обсуждение различных клавиатур и положений рук на них…
                                          • 0
                                            Всё сильно зависит от положения рук при печати, скорее всего удобно будет только в случае раздельных правого и левого блока клавиш…

                                            Это почему? Вернее, по моему мнению, разделённая клавиатура удобнее всегда (по крайней мере, я такой пользуюсь). Думаю если клавиши сделать чётко одну над другой на обыкновенной клавиатуре — будет только лучше.

                                            • 0
                                              Странно, мне кажется, что — наоборот. Но это наверное зависит от привычного положения рук.
                                          • 0
                                            Говорят, печатать вслепую гораздо удобнее

                                            Сомнительно. Из 100500 клавиатур, что я стоптал слепыми десятипальцами, удобнее всех были A4Tech с «пирамидальной» раскладкой Anti-RSI. Там не только не строго друг над другом, а сильнее даже смещены, чем на большинстве клавиатур. Как раз благодаря этому руки лежат под естественным углом и меньше напрягаются.
                                            • 0

                                              Я вообще считаю, что нужно использовать клавиатуры, которые поделены на 2 отдельных блока, соединённых только шнурком. С ними проблема неестественного угла вообще отсуствует.


                                              И вот на такую клавиатуру я бы хотел клавиши, у которых нет смещения рядов. На A4Tech, которую вы описали, кстати, смещение в правой части практически отсутствует.

                          • 0
                            «не биг дил» обсуждать то, в чем не только толком не разобрались, но даже и не попробовали. Хорошо бы увидеть статью в таком стиле (именно в таком) от автора, который хотя бы года два поработал в VIM и потом перешел на IDE (не emacs=). Иначе получается «не смотрел, но осуждаю».
                            • 0
                              Да ладно. А выделить произвольное количество символов в произвольных строках?
                              Что не припомню, какой редактор это может.
                              P.S: я сейчас о sublime.
                              • 0

                                редактор far может и у него тоже есть плагины )

                            • +1
                              Ничто не мешает в IDE для стрелочек сделать сочетания клавиш, я использую:
                              ^ Ctrl+U
                              < Ctrl+H
                              \/ Ctrl+J
                              > Ctrl+K

                              Такое своеобразное WASD для правой руки
                              • –2
                                А еще PageUp, PageDown, Home, End, Delete… и вот уже получается что вы пишете свою копию vim. Только для смены режима Ctrl зажимаете:)
                                • 0
                                  и вот уже получается что вы пишете свою копию vim. Только для смены режима Ctrl зажимаете:)

                                  Это вообще стратегия emacs :)

                              • 0
                                Когда начинаешь редактировать написанный код без полноценной IDE становится особенно трудно т.к. там автоматический рефакторинг, переход к декларации, поиск использования и т.п.

                                А посыл предыдущей статьи, если его правильно понял я был в том, что не надо надеяться найти в VIM что-то более крутое, чем эти режимы. По-моему большинство людей, не умеющих VIM, но питающих к нему интерес, грубо говоря думают, что его необычная система управления — это такое препятствие, которое нужно преодолеть ради того, чтобы добраться до каких-то крутых продвинутых фич, но прикол в том, что это и есть главная фича и по ту сторону неё ничего особо примечательного нет.
                                • 0
                                  А посыл предыдущей статьи, если его правильно понял я был в том

                                  Думаю правильно поняли. Во всяком случае, пользуясь vim более 10 лет, я с этим тезисом согласен. Есть ещё некоторые мелочи, например комманды через :, но они есть в IDE, хоть и выглядят не так и требуют мышку как не крути.

                                  • 0
                                    > требуют мышку как не крути.
                                    В PyCharm(intellij) можно вызвать любую вообще возможность IDE нажав либо Ctrl+Shift+A либо Shift+Shift. И в нормальном дропдауне, который фильтрует возможность найти что тебе надо, а не пытаться вспомнить как конкретная команда называется.
                                • +1
                                  Полный бред. Кто мешает стрелки забиндить на, к примеру, правый Alt + ESDF.

                                  Расскажу, как забиндено у меня:
                                  Alt + ESDF — стрелки
                                  Alt + AG — перемещение курсора на одно слово (аналог Ctrl + стрелки)
                                  Alt + WR — home/end
                                  Alt + Q — Delete
                                  Alt + T — Backspace

                                  Alt + ZXCVY — undo, cut, copy, paste, redo

                                  Далее используется левый Alt, а не правый:
                                  Alt + UJ — скролл на одну строчку
                                  Alt + IK — Page Up, Page Down

                                  Удобно при слепой печати. Переносить руки не нужно.
                                  • 0
                                    Для мена проблема «переноса рук от клавиатуры» на ура решается тачпадом :)
                                    • 0

                                      Просто интересно как? Для меня проблема решается трек-поинтом.

                                      • +1
                                        Можно приноровиться пользоваться им большим пальцем, но трекпоинт все равно удобнее.
                                  • +10
                                    Я начал использовать Vim(раскладку) не потому что мне не удобно нажимать ctrl(реально есть люди которые не хотят убирать руки с home row?), не потому что это прям супер быстро, и не потому что режимы это супер-дупер-круто, а потому что все лучше чем раскладка в Visual Studio.
                                    Сейчас пересел на Clion(IntelliJ IDEA) и все равно использую плагин для Vim и знаете почему? Это просто удобно. Не более. И не потому что не надо убирать руки с home row, а потому что мне это просто нравится.
                                    Я на согласен что IDE будь она от JetBrains, Microsoft будет лучше чем любой Vim обвешанный плагинами, но просто есть такие люди которым нравится нажимать для удаления слова ESC + diw или ESC + dd для удаления строки и я вхожу в их число.
                                    С авторам согласен полностью, что большинство плюсов Vim'a по сравнению с IDE не стоит того, но можно скачать плагин Vim для IDE и радоваться жизни.
                                    P.S готов к минусам.
                                    • +2
                                      Полностью поддерживаю, пришел к виму год назад, до этого пользовался разными редакторами и IDE порядка 5-6 лет, и я не понимаю зачем спор vim vs IDE/VSCode/Atom/Sublime/etc, в большенстве редакторов и IDE есть vim-режимы, сам лично пользуюсь WebStorm+vim-mode & VSCode+vim-mode, при небольших настройках и подгонах под себя получается удобное сочетание.
                                      Опять же все на любителя, так же есть Emacs с кучей плагинов и сменой клавиши ctrl на caps, дело каждого, как говорится на вкус и цвет!
                                      • +1
                                        Вот вы все говорите про сочетания ESC + something, а ведь Normal-mode он на то и Normal чтобы в нём находиться постоянно. Не надо после каждой команды возвращаться в Insert-mode.
                                        • 0
                                          А как код новый набирать?
                                          • 0
                                            Хм, я обычно пишу функции строчек в 5, да и то, частенько в рамках одного блока приходится перемещаться, объявить переменную там или добавить что-то в начале строки. Не представляю случая, когда бы мне пришлось делать ESC + diw, если я хочу удалить слово, я уже в Normal-mode, ведь как-то я это слово нашёл, f там или / или пресловутые hjkl.
                                            • 0
                                              Я не знаю как вы, но я пишу код так — написал, отредактировал, дописал, подредактировал. У вас какой-то другой процесс?
                                              • 0
                                                Я пишу код так — думаю, читаю в нормал моде, переместился туда где нужно что-то отредактировать, нажал ciw или ci), написал, esc (который у меня на капслоке), дальше всё повторяется. Хочу изменить функцию, которую вызываю под курсором — *. Хочу перейти к другому буферу — bn. Нормал мод — моё нормальное состояние.
                                      • +4
                                        Горшочек, не вари) Серебряной пули не существует и вим (так же как и любой другой редактор) нельзя рассматривать как «убийцу» всего подряд. У всего есть свои плюсы и минусы — просто смиритесь с этим и используйте то что удобно)

                                        Мне например нравится емакс с evil модом из-за того что он дает мне единые стандарты (как в хоткеях так и в фичах вроде автокомплита) для редактирования любого языка с которым я прямо сейчас работаю.
                                        • +16
                                          > Лично мне для редактирования кода вим не нужен, не уговаривайте

                                          А кто-то пытался уговаривать?
                                          • –8
                                            :)
                                            Эта статья habrahabr.ru/post/339908 пыталась в какой-то мере
                                            • +9
                                              Не заметил, статья указала на удобства vim, а не на неудобства чего-либо другого (или агитацию за vim).
                                              • 0
                                                Мне почему-то показалось, что статья про «киллер фичу» как раз тонко(или не очень) тролила vim. Что косвенно подтверждает текущая статья-ответ и первый комментарий к упомянутой выше статье.
                                              • +9
                                                Эта статья habrahabr.ru/post/339908 пыталась в какой-то мере

                                                Нет, не пыталась :). Наоборот, она была написана для того, чтобы те, кому категорически не понравились режимы, не искали в виме чего-то, что компенсирует их наличие. Ведь, если киллер-фича приложения вас не радует, то и приложение вам не нужно. А киллер-фича вима это именно режимы, а не что-то ещё.

                                            • +2

                                              Я, как человек, который таки слез с PyCharm на более легковестные штуки (сначала Sublime, а потом VSCode), могу сказать, что у IDE в этом плане есть гигантская проблема. Они делают много вещей, но значительную часть этих вещей они реализуют посредственно или просто плохо. В то время как в случае с vim или VSCode, вы сами настраиваете то, что вам нужно, еще имея возможность выбрать из ряда альтернатив, причем таких, что каждая альтернатива в целом старается делать что-то одно, в случае IDE это все идет вам пачкой, и когда оно работает плохо — вы просто страдаете.


                                              Более того, у IDE от JetBrains в целом есть тяжелое наследие в виде Idea, которое довольно часто проявляется (в духе, почему у вас индексация для Python, а не language server?)

                                              • +1
                                                в случае IDE это все идет вам пачкой, и когда оно работает плохо — вы просто страдаете

                                                Не знаю как вы, а я не хочу страдать от отсутствия нормального автодополнения (про SublimeJedi знаю), удобного интерактивного отладчика, удобной интеграции с СКВ в Sublime и т. д. IDE != редактор кода.

                                                • 0

                                                  Мне бы тоже не хотелось, но…
                                                  Для локального интерпретатора и у VSCode и у Sublime все няшно, но как только начинается удаленный, то тут небольшие проблемы, но есть нормальный language server.


                                                  По поводу того же СКВ, по крайне мере с git интеграция у VSCode мне нравится больше в целом.


                                                  А по поводу PyCharm:


                                                  • Автодополнение не учитывает __all__, а значит почти гарантированно превращается в мусор
                                                  • Автодополнение нужно пересобирать ручками, потому что вместо language server оно импортирует все структуру интерпретатора и работает только с ней, как только установили что-то большое — сидите ждите импорта. Более того, иногда импорт отваливается и нужно инвалидировать все с перезапуском. Более того, эта штука не работает для удаленных дебагеров через ssh, а значит там каждая новая либа или версия — инвалидация кеша.
                                                  • Интерактивный дебаг это круто, он не тогда, когда он виснет, когда старые точки прерывания и когда опять же работает неправильно из-за того, что забыли сделать инвалидацию кеша.

                                                  IDE это отлично, но значительная часть вещей работает там не так, как хотелось бы. Единственное чему я не нашел замену — это работа с удаленным интерпретатором, а так все нормально и на VSCode.

                                                • +2
                                                  Это VS Code-то легковесный?
                                                  • 0
                                                    А с чем вы сравниваете? C Vim или с Pycharm? По сравнению со вторым — да, довольно легковесный.
                                                    • +1
                                                      С PyCharm конечно же. С доставленными аддонами для питона VS Code будет не многим легче PyCharm. А Vim, который едва ли не в 3к строк имплиментируют, естественно будет меньше.
                                                      • 0

                                                        Простите, но вы не правы. Открытый в pycharm проект иногда расползается до 2-3 ГБ памяти, VSCode у меня пока еще такого себе не позволял.


                                                        Базовый PyCharm — 700 mb, VSCode с плагинами на git + docker + pyhton — 150-200mb.


                                                        У меня так, ну и VSCode стартует куда быстрее, потому что не выполняет индексацию после запуска.

                                                  • +1
                                                    Вот уж что-что, но поставить ST и VSC в один ряд по «легковесности» — это надо умудриться=)
                                                    • 0
                                                      Еще в VS Code и Sublime Text более богатая подсветка синтаксиса для Python. PyCharm в этом плане крайне убогий :)
                                                      • 0
                                                        Куча плагинов от разных разработчиков, которые порой конфликтуют друг с другом — это тоже не всегда удобно. Не скажу за вим, но вот у SublimeText и Atom я на такие глюки насмотрелся.
                                                      • 0
                                                        А ещё можно поставить плагин ideavim…
                                                        • 0
                                                          Killer feature VIM — это навигация через jkl; да и в режимов в Emacs по более будет. так что JetBrains IDE плохое сравнения для VIM так как есть ideaVim со всеми вытекающими ништяками, он навигации до макросов. Да и пока этот Vim запуститься со всеми плагинами чтобы открыть файлик я уже на IDE проект скомпилирую. А так всегда запущен spacemacs для открытия быстро файлов и для org-mode.
                                                          И да если вы во время программирования используете мышку, скорее всего вы дизайнер. Набирать код мышкой очень не прагматично.
                                                          • 0
                                                            Не путайте режимы Vim с режимами Emacs. Название одно, но означает оно в Emacs и в Vim совсем разные вещи.
                                                            • +1
                                                              ну да, но в с случае с spacemacs одно дополняет другое.
                                                            • 0
                                                              ideaVim со всеми вытекающими ништяками

                                                              Из вытекающих ништяков, там только частичный функционал normal mode вима, но этого увы, совсем недостаточно для замены (

                                                              Да и пока этот Vim запуститься со всеми плагинами чтобы открыть файлик

                                                              Какие то не правильные у вас плагины, у меня Vim любой (совершенно любой, с которым я когда либо работал) проект открывает меньше чем за секунду.
                                                              • 0
                                                                Из вытекающих ништяков, там только частичный функционал normal mode вима, но этого увы, совсем недостаточно для замены


                                                                Да конечно, но я вот как то вот вообще не тянусь к vim благодаря этому плагину. А можно плз по подробнее, что вы такое юзаете в vim? И действительно ли так часто?
                                                                • 0
                                                                  Непосредственно от Vim я юзаю его VimScript, а дальше уже пилю плагины, которые мне чаще всего нужны в проектах. Их довольно много, но все обычно сводится к примерно такому алгоритму:
                                                                  1. Открываем вим, появляется список проектов — плагин vim_start
                                                                  2. Открываем проект, загружается история — плагин vim_prj
                                                                  3. Открываем таск трекер — плагин vim_notepad (и да, у нас еще в телеграме есть бот таск-трекер, его тоже юзаю, но вне вима, хотя можно и интегрировать)
                                                                  4. Создаем нужный файлик — плагин nerdTree
                                                                  5. Именуем файлик, на пример OrderRepository, он автоматически заполняется шаблоном класса-репозитория — плагин vim_templates
                                                                  6. Добавляем недостающий код набором типа ifelse, вставляется структура ветвления — плагин UltiSnips
                                                                  7. Добавляем правки в текущий коммит через 'gC, открывается окно ввода комментария, заполняем его, сохраняем, пушим 'gp — плагин vim_git

                                                                  На счет частоты — не просто часто, очень часто, каждые несколько секунд. В браузере, кстати, тоже ) Попробуйте какой нибудь плагин для браузера типа VimFx — очень удобно, когда левая рука на скролле, а права на мыше.
                                                                  • 0
                                                                    О круть спасибо. Сейчас попробую контр атачнуть ^_^
                                                                    1. Открываю IDE, либо там же выбираю проект, либо открываю сразу проект так как IDE замаплина на него.
                                                                    2. Если нужна история файлов над которыми работал юзаю CMD+ALT+E. Так же имеется планиг контекстов, мапится на таск трекер практически любой от redmine до Jira. При взятии задачи через этот таск мнеджер, меняется ветка через git flow, переключается конеткст октрытых файлов (очень удобно, когда открыто 100500 файлов, и тебя просят сделать хотфикс, то можно просто поменять задачу в таск менеджрее, а потом свичнуться обратно и открыть все те же файлы — безценно).
                                                                    3. решается задачей 2.
                                                                    4.1. CMD+1 переходим в навигейшен, вводим имя директории или примерное место локации где нужно создать файл, нажимаем CMD+N, выбираем шаблон.
                                                                    4.2. Вариант чаще юзающийся. CMD+ALT+O ищем нужный класс открываем его, CMD+ALT+J переходим в навигейшен, далее по стандартной схеме CMD+N…
                                                                    5. решается на шаге 4.
                                                                    6. Юзаем live templates, смарт suggest tool. заполняем не достающие переменные, теплейт создает класс.
                                                                    7. CMD+ALT+C (у меня) вызывает Commit от плагина VCS, заполняем коммент, так же предупреждены о метках в коде, о ошибка о оптимизации и авто форматировании кода. Коммитится всегда guide style company код, хоть ты в одну линию все написал, все будет чики пуки (конфигурабельно).

                                                                    т.е. это не заслуги VIM, сколько заслуги VIMScript. При всем этом IDE тоже поддерживает плагины и их можно писать на Scala ^_^
                                                                    • 0
                                                                      Я не пытаюсь вас убедить, что «срочно надо бросать эту дебильную IDE и переходить на богоподобный Vim». Я пользовался многими редакторами и популярными средами разработки, но остановил свой выбор на Vim из за тех свойств, что описал ниже.
                                                                      • 0
                                                                        Не ни в коем случае, не пытаюсь оспорить что либо, просто боялся что я теряю тот или иной функционал отказавшись от VIM. Чисто для себя проверил.
                                                                        • 0
                                                                          Сильно сомневаюсь, что вы теряете что-то крайне важное, без чего нельзя быть «полноценным программистом» отказываясь от Vim.

                                                                          Это скорее ваш «комплекс неполноценности программиста» (как, на пример, некоторые страдают от того, что не знаю ассемблер), коим страдают практически все, но это временное явление и ничего опасного оно не несет.

                                                                          Для общего развития, возможно, вам стоит пройти vimtutor, возможно вас что-то заинтересует в самой концепции редактора, благо проходится он за час.
                                                                          • 0
                                                                            возможно, вам стоит пройти vimtutor,

                                                                            Дак не я ж бывалый vimer, в IDE принимаю таблетки от ideaVIM плагина. Просто я думаю тут зависит от наклонности девелопинга для obj-c девелоперов vim немного сыроват, кучу всего нужно придумывать. Но еслб я был Web девелопером или c может быть даже и сидел бы на VIM. Или был бы hardware девелопером, тоже можно. А сейчас очень сильно и по хардкору юзаю refactoring и vim как ни крути не готов к такому, ну либо я не научился курить как делать рефакторинг в Vim и как делать inline debuging в vim. и прочие плюхи.
                                                                            • 0
                                                                              Для inline debuging в Vim есть плагины, но лично я предпочитаю не дебажить этим методом, а писать тесты для перехвата багованного кейса.

                                                                              Для рефакторинга Vim'у недостаточно «мозгов», а втягивать в него семантический анализатор никто не хочет (да и зачем, когда есть IDE?). Опять же, я рефакторю очень редко, потому не испытываю особую нужду в этой функциональности.
                                                                              • 0
                                                                                Для рефакторинга Vim'у недостаточно «мозгов», а втягивать в него семантический анализатор никто не хочет (да и зачем, когда есть IDE?). Опять же, я рефакторю очень редко, потому не испытываю особую нужду в этой функциональности.

                                                                                Таким образом делаю выводы что на 2017 октябрь. Vim для VIM юзеров, IDE для IDE юзеров. Поэтому холиворить нет смысла )
                                                                                • 0
                                                                                  Вы это объясните авторам такого рода статей )
                                                                    • 0
                                                                      Попробуйте какой нибудь плагин для браузера типа VimFx — очень удобно, когда левая рука на скролле, а права на мыше.

                                                                      О да это ваще киллер фича, я не юзал VimFx я слез с файра на оперу и юзаю хром плагин Vimium. Без VIM навигации вообще ни куда. это тру стори.
                                                                      Кстати чтоб полностью отвыкнуть от мышки, и развить навык управления компьютером с клавиатуры, я ее убрал в долгий ящик. :D
                                                              • +2
                                                                У вима из коробки есть несколько уникальных возможностей редактирования, которых нет в IDE
                                                                Да, черт возьми, интересно какие…
                                                                Перейти к следующему/предыдущему абзацу
                                                                Перейти до пробела.
                                                                перейти на полстраницы вниз/вверх.
                                                                Перемещение на первую/последнюю/среднюю строку экрана.
                                                                Можно удалить ровно X строк кода.
                                                                Серьезно? Т.е. вот это «уникальные возможности»? Не то, что можно комбинировать разные команды, вроде `dFx`, не операции над текстовыми объектами, аля `di{`, не макросы и повтор команд при помощи `.`. Наличие множества буферов, ex-режим, запуск внешних команд навроде sort?.. Да кому это нужно, настоящая мощь вима в команде «перейти до пробела»!

                                                                PS: использовал vim, потом emacs, потом emacs+evil.
                                                                • +1
                                                                  Для большинства повседневных задач в IDE достаточно знать буквально пару-тройку горячих клавиш.
                                                                  А для набора текста достаточно буквально одного-двух пальцев!
                                                                  • –1

                                                                    dFx — удаляете всё до символа x?
                                                                    Вы можете привести кейсы с примерами кода? Вот я нахожусь здесь, мне надо сделать такую-то вещь, поэтому я нажимаю такую-то комбинацию. Просто практически всегда можно обойтись другими средствами

                                                                    • +1
                                                                      На пример при работе с HTML/XML находясь тут:
                                                                      <ul>
                                                                        <li>...|...<li>
                                                                      </ul>
                                                                      

                                                                      можно заменить все содержимое тега li комбинацией cit.
                                                                      • –1
                                                                        ctrl-w, потом набираем текст. (это в продуктах jetbrains)
                                                                        • –2
                                                                          Круто, но лично я бы предпочел без ctrl )
                                                                          • +3
                                                                            Лучше тянуться к Esc?
                                                                            • 0
                                                                              Нет конечно, зачем к нему тянуться? Вы, видать, один из тех, кто вимом не пользовался, но «знает» что плохо? )
                                                                              • 0
                                                                                Я же спросил, а не утверждал. Как вы между режимами переключаетесь?
                                                                                Вимом пользовался на уровне «блин, почему здесь не Нано по-умолчанию, как теперь отсюда выйти?»
                                                                                • 0
                                                                                  Там возможностей много, от ctrl+c до jj (предпочитаю второй вариант).
                                                                                  • +1
                                                                                    А в режиме редактирования разве «jj» не поставит два символа?
                                                                                    • 0
                                                                                      Не знаю как у господина Delphinum, но у меня Caps Lock переназначен как Esc. В итоге получается очень удобно и никуда тянутся не надо.
                                                                                      • 0
                                                                                        У меня КапсЛок — переключение языков.
                                                                                      • 0

                                                                                        Если набрать в режиме редактирования jj, то:


                                                                                        1. с настройками по умолчанию — вставит jj
                                                                                        2. с настройкой типа inoremap jj ^[
                                                                                          в зависимости от величины паузы между нажатиями (задержка регулируется переменной timeoutlen):
                                                                                          • вставит jj
                                                                                          • выведет вас из режима вставки
                                                                                    • 0

                                                                                      Кому как удобно, это скорее вопрос предпочтения. На эту тему (и почти любую другую) есть статья в Vim Tips Wiki: http://vim.wikia.com/wiki/Avoid_the_escape_key

                                                                          • 0
                                                                            dFx — удаляете всё до символа x?
                                                                            После. Но это лишь рандомный пример, не обремененный смыслом. Но вот, например, `ct.` может быть удобен (удалить все до ближайшей запятой и перейти в режим вставки для нового содержимого).

                                                                            Просто практически всегда можно обойтись другими средствами
                                                                            Именно! Поэтому я лично вообще не понимаю всех этих десятипальцевых методов и прочих «оптимизаций». Ведь набирать можно вообще одним пальцем.
                                                                          • +3
                                                                            ППКС. (тоже emacs + evil) Ещё повтор и переворачивание позиционирующих команд (nN,;), text marks, vimdiff, undo/redo знающий о ветвлениях… Но нет, драма на несколько статей идёт по поводу command/insert mode и базовых команд.
                                                                            • –4
                                                                              Ну дык напишите нормальную статью. Все статьи про преимущества вим — не отражают никаких преимуществ
                                                                              • +4
                                                                                Все статьи про преимущества вим — не отражают никаких преимуществ

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

                                                                              • 0
                                                                                Но нет, драма на несколько статей идёт по поводу command/insert mode и базовых команд.

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


                                                                                Вот автор текущей статьи, например, считает, что возможность перейти к какому-то конкретному символу в строке, существующая в виме это неплохо, но в другом редакторе ведь можно нажать Control+F и потом перейти к символу и это не сильно хуже, а то и лучше, потому что для этого не используется отдельный режим.


                                                                                Та же история с марками, позиционирующими комантами и undo tree. Зачем делать это с помощью режимов, когда можно и без них?

                                                                                • 0
                                                                                  Но ctrl+f запускает режим поисковика по текущему документу, разве нет?
                                                                                  • 0
                                                                                    Но ctrl+f запускает режим поисковика по текущему документу, разве нет?

                                                                                    Или по проекту, зависит от редактора. Для поиска нужно перейти в другой режим, но в этом режиме пользователь проводит мало времени, а аналога normal mode в виме в этом другом редакторе вообще нет и это хорошо.

                                                                                    • +2
                                                                                      Получается режимы в Vim плохо, а режимы не в Vim хорошо?
                                                                                      • +1

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

                                                                                  • 0
                                                                                    > Драма только по поводу режимов, а не по поводу базовых команд.

                                                                                    Тем не менее вон автор недоумевает, чем команды перехода лучше Ctrl+F.

                                                                                    > Вот автор текущей статьи, например, считает, что возможность перейти к какому-то конкретному символу в строке, существующая в виме это неплохо, но в другом редакторе ведь можно нажать Control+F и потом перейти к символу и это не сильно хуже, а то и лучше, потому что для этого не используется отдельный режим.

                                                                                    Сто раз на этот вопрос уже отвечено. '/' в виме это не просто поиск по тексту. Его можно нажатием одной кнопки повторять (n), делать шаг назад (N), откатывать на прежнюю позицию (Ctrl+o), делать частью цепочки команд. Command mode это целый мир, его возможности перевешивают цену одного нажатия клавиши переключения режима (за исключением случая, когда надо в небольших границах всё время попеременно перемещаться и редактировать, но для этого я лично смешиваю хоткеи vim и emacs, а «стрелочники» в этом сценарии так всё равно и будут тянуться к мышке/стрелкам).

                                                                                    > Та же история с марками, позиционирующими комантами и undo tree. Зачем делать это с помощью режимов, когда можно и без них?

                                                                                    Затем, что из-за всех этих, казалось бы мелких, экономий на клавишах и принципа vim «самые частые действия уже забиты на 1 удобную вам клавишу в command mode» при определённом уровне автоматизма практически до любого значимого места в коде можно добраться в пару нажатий клавиш вообще не приходя в сознание и не снимая рук с home row — это позволяет гораздо лучше сосредоточиться на задаче, а не на навигации по коду и перемещениях рук с мышки на клавиатуру. Некоторые сценарии из названных мной вообще не воспроизводятся в традиционных редакторах, например text marks:

                                                                                    — вижу «интересное» место в коде, про которое уверен, что захочу вернуться не раз — жму mm (вообще не думая)
                                                                                    — хочу вернуться на отметку — жму M (перезабил на циклическое перемещение по отметкам)
                                                                                    — посмотрел код вокруг отметки, хочу прыгнуть туда откуда пришёл — Ctrl-o.

                                                                                    И таких сценариев десятки.
                                                                                    • +1
                                                                                      Его можно нажатием одной кнопки повторять (n), делать шаг назад (N)

                                                                                      Типа F3 и Shift+F3?
                                                                                      • 0

                                                                                        А как сделать что-то похожее на '3n' или '5N'?

                                                                                        • 0
                                                                                          Не знаком с Vim, что делают эти команды?
                                                                                          • 0

                                                                                            3n перейдёт через 3 вхождения искомого текста, 5N через 5 назад.
                                                                                            Т.е. для первого случая вам нужно нажать 3 раза F3, во втором 5 раз Shift-F3.

                                                                                            • 0
                                                                                              Не вижу особой разницы. Если, конечно, не переходить более чем на 5 позиций, но не представляю, зачем это может быть нужно, для случаев, какие я могу сходу придумать есть закладки.
                                                                                              • 0

                                                                                                Ну, закладки не помогут, если все эти результаты в одной длинной строке, например.

                                                                                            • +1

                                                                                              И опять же. Это можно комбинировать с другими командами, например(безумие, но вдруг?): d3n — удалить всё до 3 результата поиска, или y3n — скопировать всё тоже самое в буфер.

                                                                                              • 0
                                                                                                Никогда не мог понять смысл этих команд. Подсчитать навскидку количество слов или строк, если их больше 2-3 достаточно сложно. А на 2-3 строках преимущество уже не особо заметно.
                                                                                                В особенности не могу понять способ использования
                                                                                                удалить всё до 3 результата поиска
                                                                                                — откуда я знаю, где будет третье вхождение? Проще и точнее, на мой взгляд, выделить что нужно и удалить.
                                                                                                • 0

                                                                                                  Да, пожалуйста. Выделяйте. v3n. Недолёт? Ещё раз n. Перелёт? N
                                                                                                  По поводу "откуда я знаю", это может быть cvs файл, в котором вы знаете до какого разделителя нужно провести операцию.

                                                                                • 0
                                                                                  Спасибо за Ctrl+b!!! А там и Ctrl+Alt+Left нашел.
                                                                                  • 0
                                                                                    IDEA Киллер фича это — live tamplates, просто яб заменил бы ими все Gist на хабе )
                                                                                    • +5
                                                                                      Польза режимов Vim, автор, не в том, о чем вы подумали, тут главное «Единообразие» и «Комбинирование». Есть еще прицел на знание редактора пользователем, но не будем об этом, иначе половина хабра тут точно обидится )

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

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

                                                                                      В результате сравнивать Vim с, на пример, Intellij IDEA, это как сравнивать Bash для работы с git + docker + postgresql с Kraken + Admiral + PgAdmin.
                                                                                      • 0
                                                                                        Там в процессе выяснилось, что автор статьи понятия не имеет, что такое режимы, про которые активно рассуждает. Не стоит принимать ее слишком близко к сердцу.
                                                                                        • +3
                                                                                          про то, что vim — хорош, а IDE — так себе, скорость набора текста не та.

                                                                                          Стабильно такие статьи от адептов вима появляются на хабре. Только я до сих пор одного понять не могу, если у них все так круто, то зачем об этом трубить и разводить срач в комментах)
                                                                                          • +9
                                                                                            Сторонники VIM просто пишут про свой редактор, в то время те, кто не используют VIM, обсирают первых. Причем задают провокационные вопросы в стиле «зачем вам эти режимы», получают ответ и начинают нести не аргументированную критику в стиле «да у меня и вим тормозит», «да вим архаизм» и т.д. В итоге пытаются доказать что их Мега-супер-пупер IDE круче VIM, хотя, как выясняется, вимом они толком и не пользовались.

                                                                                            Заметьте, почти нет комментариев от тех, кто долго работал в VIM и перешел на IDE. Весь вайн разводят те, кто VIM толком не осилил. Вот такое проявление ксенофобии.
                                                                                          • 0
                                                                                            про то, что vim — хорош, а IDE — так себе, скорость набора текста не та.
                                                                                            Что то я не нашел где там про это сказано.
                                                                                            И про посыл тоже как то не о том, как мне кажется. Там было скорее про то что без режимов vim-а нету, а плагины это второстепенное. Убери режимы, это будет не vim. Убери плагины, то это все еще vim.
                                                                                            • 0

                                                                                              А еще есть такая замечательная штука AceJump.

                                                                                              • 0
                                                                                                Кстати AceJump говно после последних апдейтов :) затрахался с ним, переюзал все плангины данного типа и вот CharJump просто вкусняшка… лучше нет ничего.

                                                                                                И VIM тоже есть подобный плагин. От туда и пришло в IDE.
                                                                                                • 0

                                                                                                  Ну, AceJump — это скорее маркетинговое название, подобные расширения существуют в целой куче редакторов и IDE: emacs, vim, vscode и т.д.

                                                                                                  • 0
                                                                                                    А что не так с последними апдейтами?
                                                                                                    • 0
                                                                                                      А что не так с последними апдейтами?

                                                                                                      очень часто крашится, теряет мапинг хоткея, очень долгая инициализация, много не нужного в коде, нужно быть проще для такого рода тулзы.
                                                                                                • +2
                                                                                                  Как мне кажется, автор не до конца понял фразу «без мыши». Это понятие подразумевает, что её нет совсем. У меня на рабочем столе нет мыши физически как предмета, vim мне помог окончательно отказаться от такой вещи. Это была моя основная цель при изучение редактора.
                                                                                                  Вот вам челлендж: отключите мышку, уберите её куда-нибудь и попробуйте поработать так хотя бы день в вашей любимой IDE.
                                                                                                  Другой плюс vim-a, лично для меня, возможность работать удаленно без установки какого либо дополнительного софта. Он меня избавил от мучительно меню настроек с огромной вложенностью и функциями, которые мне не нужны. Подтягиваем конфиг файл на хост машину и вы уже в работе.
                                                                                                  Автокомплит стал меня раздражать, по большей части. Обычно я знаю что мне надо и могу это напечатать достаточно быстро, что бы не обращать внимание на выпадающее меню. Я его отключил, но хочу заметить, он там есть.
                                                                                                  Про vim нужно усвоить, что у всех он разный. Каждый его настраивает под себя и потому, он становится идеальным инструментом именно для вас.
                                                                                                  • +2
                                                                                                    vim мне помог окончательно отказаться от такой вещи. Это была моя основная цель при изучение редактора. Вот вам челлендж: отключите мышку, уберите её куда-нибудь и попробуйте поработать так хотя бы день в вашей любимой IDE.


                                                                                                    А зачем? Что это за цель такая: «отказаться от мыши»?
                                                                                                    • +1

                                                                                                      Не надо переводить взгляд с клавиатуры на мышь и обратно, не надо пермещать руку на мышь и обратно. Это бывает удобно.

                                                                                                      • +1
                                                                                                        ЭЭЭЭ, а зачем переводить взгляд на мышь?
                                                                                                        • +1
                                                                                                          Видимо те люди, которые толком мышь не используют просто не имеют навыков работы с ней: перенести руку на мышь и обратно на клавиатуру вслепую, быстро сделать несколько кликов в сочетании с нажатием хоткеев левой рукой… Это так-то и не удивительно и получаем замкнутый круг: не пользуешься -> нет навыков -> неудобно -> не пользуешься.
                                                                                                          Просто тут два варианта — либо оставить всё как есть, либо долго и упорно работать над собой, имея пониженную производительность, но при этом осваивая новые инструменты.
                                                                                                          • 0
                                                                                                            Видимо, я должен уточнить про свои навыки работы, для понимания.
                                                                                                            Я не говорил, что я не умею пользоваться мышкой. До вима, я работал около 7 лет попеременно в Sublime Text и intelliJ IDEA. Но всегда чувствовалась проблема, мне не так удобно работать без мыши и в отрыве от оборудованного места. Последнее время я работаю исключительно на ноутбуках и мне хотелось быть максимально независимым от рабочего места. Тут мне и пришелся по вкусу vim. Примерно за 2 недели я восстановил в нем все функции которые мне нравились в sublime, привык к его режимам и хоткеям и к IDEA/Sublime я уже не возвращался несколько лет.
                                                                                                            По поводу самой мыши, разницу в скорости нужно прочувствовать. Примерно 10 лет назад, я работал в одной международной компании, прослушивая и фиксируя радиоэфир. Мышь там была моветоном, так как скорость работы человека значительно падала. Велась статистика по сотрудникам, в среднем с мышью работал 1 человек из 20.
                                                                                                            Алгоритм примерно был такой:
                                                                                                            Мышь — дойти до границы рекламного ролика, навести мышкой на начало клипа, аккуратно выделить кусок, контекстное меню, выбрать сохранить.
                                                                                                            Клавиатура — были хоткеи на смещение по 30/10/5/1 секунды. Выделение занимало примерно 2-5 нажатий на кнопку, ctrl-s.
                                                                                                            Сам процесс выделения, наведения занимает больше времени чем кажется. Клавиатурой можно было сделать это все даже на слух.
                                                                                                            • 0
                                                                                                              Всё-таки этот момент сильно зависит от задачи, для варианта радиоэфира я бы тоже выбрал клавиатуру, и я даже не сомневаюсь, что точно спозиционироваться на секунду назад куда проще хоткеем, чем мышкой…
                                                                                                              К примеру — нужно заменить часть имени переменной в куске кода без автозамены или дополнений на другую — я делаю это клавиатурой, переходя по строкам и столбцам(со всевозможными End'ами, Home'ами и быстрыми пропусками слов CTRL+стрелка) и используя Shift и Ctrl+V для замены, мой коллега то же самое дело делает мышкой + Ctrl+V для замены…
                                                                                                              В результате он примерно такой же кусок кода обрабатывает раза в 4 быстрее, причём именно на выделении текста он экономит время. Можете просто попробовать посоревноваться с коллегами на подобной задаче, особенно если среди них есть геймеры, увлекавшиеся\увлекающиеся шутерами)
                                                                                                              • 0
                                                                                                                Я так понимаю, вы предлагаете переименовать переменную в, скажем, десяти разных местах вручную? Значительно быстрее мышкой+клавой, чем просто мышкой. Пишем новое название, дважды кликаем по нему, ктрл+с, потом дважды на каждом старом названии, ктрл+v, ктрл+v, ктрл+v. Чем больше замен нужно сделать — тем выгоднее получается мышь.
                                                                                                                • 0
                                                                                                                  Значительно быстрее мышкой+клавой, чем просто мышкой.
                                                                                                                  НУ я всё-таки сравнивал вариант просто клавиатурой и мышкой + клавиатурой, но ситуация от этого не меняется на мой взгляд…
                                                                                                                  Для меня тут важно либо попытаться показать товарищу в обсуждении выше, что способ мышка + клава быстрее чем просто клава, либо узнать что-то новое про работу на клавиатуре, и научиться действительно быстро на ней работать…
                                                                                                                  • –1
                                                                                                                    Ой, простите, я это и имел ввиду — «Значительно быстрее мышкой+клавой, чем просто клавиатурой»
                                                                                                                  • +1

                                                                                                                    У вас получилось О(n), с клавиатуры получается O(1) =)
                                                                                                                    :%s@\<old_name\>@new_name@g
                                                                                                                    Добавьте в начало tabdo, eсли нужно провести замену в нескольких открытых файлах.

                                                                                                                    • 0
                                                                                                                      По условиям задачи автозамену ведь нельзя. Я так могу просто ctrl+r нажать
                                                                                                                      • 0

                                                                                                                        Можно записать макрос для первого вхождения и повторять пока они не кончатся