Киллер фича Vim

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


    Гуглим, выясняется, что для превращения вима в нормальный редактор нужно нажать i. Только сохранить поредактированный текст нельзя, перед этим надо несколько раз нажать эскейп, а потом набрать :w. А, чтобы его закрыть, нужно нажать эскейп, а потом набрать :q. Тяжёлое наследие прошлого. Ну, зато вим есть везде.


    Но в какой-нибудь из статей, рассказывающей, как провести 5 минут в виме и остаться в живых, обязательно будет написано, что вим — лучший текстовый редактор в мире. И ещё выяснится, что люди в нём программируют. То есть, натурально, пишут код. То есть, на дворе 21 век, в любой момент можно скачать Visual Studio, Intellij Idea или, прости господи, Eclipse, а они пишут код в виме. Добровольно.



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


    Интересно, какие такие фичи есть в виме, которых нет даже в IDE, не говоря уже о банальном notepad++?


    Печально, но если задать этот вопрос среднестатистическому гуру вим-гольфа — он его просто не поймёт. В этом можно убедиться почитав комментарии на Хабре и вообще полазив в интернете. В ответ на вопрос, чем хорош вим, зачастую пишут, что вот там можно удалить слово, набрав diw, а, если не хочешь удалять, а хочешь выделить, то набираешь viw. Ну, то есть, в первом случае в начале d, во втором v, но потом то и там и там iw, что означает inside word. Ну не круто ли! Утрирую, конечно, но очень похоже на правду.


    Но программировать-то в нём как?


    Вопрошающий обычно уточняет — вим ведь как-то справляется с задачами, которые обычно решает IDE. Интересно, как? Ему отвечают, что в виме есть много офигенных плагинов, только их надо ставить и настраивать.


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


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


    А между тем, ему стоило бы поставить вопрос прямо.


    Ради каких фич вима, пользователи готовы терпеть такие фатальные недостатки, как несколько режимов работы, необходимость запоминать кучу клавиш, и добровольно отказываются от использования стрелок?


    Ведь на самом деле, всё наоборот


    Это не ради фич вима пользователи готовы терпеть режимы, а ради того, чтобы продолжать пользоваться режимами, пользователи пилят новые фичи в виме.


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


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


    Режимы не фатальный недостаток, а киллер фича.


    В обычном редакторе для того, чтобы переместить курсор к концу слова нужно зажать Control, а потом, не отпуская его, перенести руку к стрелкам и нажать клавишу вправо. В редакторе получше, можно нажать не вправо, а какую-нибудь клавишу на буквенной часть клавиатуры, например d, но Control всё равно придётся держать зажатым. А в виме нужно просто нажать e. Пользователи вима ценят возможность проводить манипуляции с курсором и текстом без необходимости держать при этом зажатыми клавиши-модификаторы или убирать руки с home row. Это расслабляет.


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


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


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


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


    Вместо послесловия


    Возможно кто-то скажет, что писать целую статью ради такой мелочи это оверкил. Я тоже так думал, но картину, описанную выше, я наблюдаю уже несколько лет.


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

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

    Подробнее
    Реклама
    Комментарии 621
    • +75
      После прочтения статьи еще меньше захотелось пользоваться Vim
      • +3

        Не обязательно использовать сам vim. Почти в каждой популярной IDE есть vim плагин, который покрывает существенную долю функций vim. Кроме плагинов разумеется, но это скорее плюс :)

        • +6
          Пользуюсь vim несколько лет, сколько не пробовал vim-плагины к IDE всегда плевался.
          • +5

            Я пользуюсь плагином к Intelij IDEA. Не вим, конечно, но без IDE очень тяжело, а с плагином редактировать текст значительно приятнее, если привык к режимам.

            • +6
              Чтобы выйти из него нужно нажать эскейп, а потом :q
          • +4
            А через ssh удобно…
            • +3
              В статье об этом не говориться.
              Автору так и нужно было писать: Через SSH лучше Vima нет. Это его киллер фича.
              Но в статье речь о режимах.
              Хотя быть может это связано, не знаю, Vim не пользуюсь.
              • +4
                Автору так и нужно было писать: Через SSH лучше Vima нет. Это его киллер фича.

                Нет, работа через SSH киллер фичей вима не является. Многие пользуются вимом, хотя по SSH ходят дай бог раза 2 в неделю. Киллер фича вима именно режимы.

                • +2
                  Через SSH лучше VIM только sed.
                  • +1
                    ed, он даже для телетайпа годится.
                  • 0
                    Многие пользуются вимом, хотя по SSH ходят дай бог раза 2 в неделю.

                    Одно совершенно не отменяет другого. Для SSH нужны другие инструменты, пользоваться IDE по медленному SSH-каналу — это обычно тоже извращение.

                    • +2

                      На самом деле — у каждого своя киллер-фича.


                      Я использую vim уже, наверное, лет 15, может больше. Двигать курсор через hjkl пробовал многократно — внезапно, мне это неудобно. Комбинациями вроде diw владею, но на практике тааак редко нужно делать что-то подобное, а если это нужно редко то изменить текст нужным образом не используя vim-специфичные трюки занимает ненамного больше времени, а выглядит нагляднее. Конечно, на самом деле у меня много комбинаций "в пальцах", и я просто зачастую не понимаю, что делаю какие-то vim-трюки, потому что для меня это не трюки. И только когда возникает ситуация, что я не могу внести необходимое мне изменение в текст используя обычные для других редакторов способы редактирования секунд за 10-15 — вот только тогда я останавливаюсь, нажимаю Esc, и придумываю способ сделать нужное vim-трюками.


                      Когда я переходил на vim киллер-фичей была подсветка синтаксиса. Не она сама, а её корректность и скорость работы. Аналогов, особенно по скорости работы, в то время не было (Emacs не пробовал, правда).


                      Сейчас, после многих лет работы, настройки под себя, создания нескольких плагинов для vim — для меня киллер-фичей является единообразность работы с абсолютно любыми типами файлов — не важно, это код на любом языке, или текст, или SQL, или yaml, или конфиг-файл… везде одинаково открывается контекстная помощь по F1, везде одинаково работает автодополнение, везде одинаково проверяется синтаксис при записи файла, etc… Причём работает оно примерно так же, как 15 лет назад — исключая мои собственные изменения конфига vim и установленных плагинов (а вот сколько разных IDE лично Вы сменили за 15 лет, и сколько раз приходилось привыкать к изменениям после выхода новой версии той же IDE?). И, да, как локально так и на удалённом сервере. Ну и ещё возможность допилить настройки, если что-то начинает мешаться под ногами — оно, конечно, время жрёт, но лучше такую возможность иметь и пользоваться когда на это есть время, нежели не иметь ничего кроме кучки чекбоксов в настройках IDE.

                      • 0
                        а вот сколько разных IDE лично Вы сменили за 15 лет, и сколько раз приходилось привыкать к изменениям после выхода новой версии той же IDE?

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


                        Вим почти не знаю и просто не вижу смысла изучать его в силу того, что на своём компе использую ide, а код на своих серверах правлю через Cloud9, когда возникает нужда.

                    • 0
                      режимы вима удобны через ссш :)
                      • +9
                        nano?
                        • 0
                          ssh -X 127.0.0.1 gedit =\
                          • +3
                            У вас на всех серверах иксы?
                            • 0
                              Много какие редакторы кроме gedit умеют работать с файлом по sftp. И в таком случаи чтоб что то отредактировать на сервере через тот же gedit или gimp достаточно иметь иксы на рабочей машине а не на сервере.
                              • +1

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

                                • 0
                                  С большой вероятностью gedit просто не удастся установить на сервер без иксов :) Пакетный менеджер по зависимостям их притащит :)
                                  • 0
                                    Он может протащить набор клиентских библиотек, но (при нормальных зависимостях) никак не xorg-server и тому подобные собственно отображающие части.
                                    А всякие libX11 может потянуть за собой тот же vim, если собран в «полном» варианте с графической мордой.
                                    • 0
                                      Эти клиентские библиотеки составляют примерно 90% иксов :)
                                      • 0
                                        «90% иксов» это DE. А либы которые подтянет текстовый редактор, достаточно мелкие, их не много, да и есть просить не будут.
                              • 0
                                на пинге хотя бы 50 мс вы должны быть очень спокойным.
                                • 0
                                  Я очень спокойный.

                                  алсо, не вижу ничего плохого в редактировании файлов, проброшенных через sshfs, если со связью всё плохо, а графики хочется.
                            • +2
                              Автору так и нужно было писать: Через SSH лучше Vima нет.
                              Можно в emacs через Tramp mode подключаться к удаленному терминалу и работать через него как на локальной машине ;-)
                              • 0
                                > Через SSH лучше Vima нет. Это его киллер фича.

                                Теперь есть micro, по SSH он работает как в нативном терминале. И даже иксовый буфер обмена пробрасывается. Он прекрасен.
                                • 0
                                  Ого. Спасибо за micro!
                              • +7

                                Использую mcedit (редактор midnight commander), удобно как по ssh так и локально. Особых недостатков перед графическими IDE не вижу. Vi только там где нет возможности запустить вышеуказанный, либо где настолько плохой коннект что он лагает перерисовкой экрана.

                                • +1
                                  О, я не один такой, кто mc ради mcedit ставит )
                                  • –1
                                    я ставлю ради того, что бы выборочно копировать/перемещать/удалять файлы — там, где однострочник-регулярку слишком долго писать или оверкилл.
                                    mcedit не нравится :(
                                  • +1

                                    Как в мседит скопировать в буфер обмена выделенный блок?

                                    • 0
                                      Как вариант: зажать Shift и выделить мышкой кусок текста в терминале.
                                      После этого Ctrl+Insert и можете вставлять скопированные данные в другом окне/интерфейсе.
                                      • +1
                                        Работа с shift для выделения текста постоянно разламывается то в самом mcedit, то в эмуляторах консолей. Смешно, когда мышкой работает, а клавишами стрелок — нет.
                                      • +1

                                        f3 — выделить кусок — f3 — ctrl-f — Enter — перейти в нужное место — shift-f5 — Enter

                                        • +1
                                          Это не копирование в буфер обмена. Это копирование внутри редактора.
                                          • 0
                                            Ничего не понял. Мы вроде о текстовом режиме говорим — какой-такой «буффер обмена вне редактора» вы нашли в этом режиме???
                                            • 0

                                              Так именно в этом и проблема всех без исключения редакторов текстового режима...

                                      • 0
                                        > Особых недостатков перед графическими IDE не вижу

                                        То есть, для вас нормально в одном месте для копирования текста нажимать Ctrl-C/V, а в другом месте F3/F5? И постоянно об этом помнить и следить за тем где вы выполняете шорткат?
                                        • 0
                                          Ну люди же работаю как-то на Mac'е где нужно помнить в какой программе это Ctrl-C/V, а в какой — Command-C/V и ничего.

                                          Наоборот, когда шорткаты отличаются настолько сильно это вызывает меньше когнитивного диссонанса, чем когда отличие минимально — но таки есть…
                                          • 0
                                            Ну люди же работаю как-то на Mac'е где нужно помнить в какой программе это Ctrl-C/V, а в какой — Command-C/V и ничего.

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

                                            • 0
                                              И в какой же программе на маке это Ctrl-C/V?
                                            • 0

                                              А ещё есть третий вариант Ctrl-Ins, Shift-Ins, который причём есть в двух вариантах (кнопки одни и те же, логика работы чуть разная). Это не проблема редактора в любом случае, ну а для меня это не кажется проблемой вообще — всё на автомате.

                                        • +2
                                          А я поставил к виму плагины ale, neco-ghc, ghc-mod, idris-mode и еще парочку, и теперь писать на хаскеле или идрисе — одно удовольствие. Других аналогичных редакторов не получится, разве что, Atom по части идриса приближается.

                                          На плюсах пишу в clion, впрочем.
                                          • +13
                                            Много лет назад я был на вашем месте. Я читал подобный бред и не мог понять кто вообще в здравом уме использует этот идиотский Vim. А потом я взял себя в руки и просто что бы не оказаться в неприятной ситуации решил пройти vimtutor. Тем более, что обещали, что это всего на 20 минут. И буквально через 20 минут я понял, что хоть это и самый идиотский редактор в мире он при этом еще и одни из самых лучших.

                                            Но при этом нужно сделать одно отступление. Он хорош если вы действительно много работаете с различного рода текстом. Код- лишь малая часть этого. И если с кодом для большинства распространенных языков есть варианты, то со всем остальным- дело может быть совсем плохо. Моя основная работа- инженер-связист. У каждого производителя железа свои закидоны. Например для сетевых элементов Ericsson скрипты нужно писать на языке, у которого даже названия нет. Во всяком случая я его в документации не нашел. И если языка нет, то и подсветки синтаксиса не существует. Как собственно и IDE под него. Но состряпать ее для Vim- совсем не проблема. Или вам нужно на оборудовании Huawei поменять один параметр на базовой станции. Но на каждой. У системы можно получить их список, но каждую строку нужно будет вручную переколбасить. Что-то оставить, что-то переместить в другое место, что-то убрать. И самое страшное в том, что эту операцию нужно будет сделать для каждой из тысячи строк. Vim поддерживает регулярки. Не несчастные вайлдкарды, а по полной программе. Одна команда прямо в редакторе и все готово. Конечно это можно сделать при помощи того-же Python и когда парсинг очень сложный, то я так и делаю, но очень часто хватает просто Vim.

                                            PS: Я не являюсь фанатиком Vim и с удовольствием пользуюсь IDE. Но как по мне IDE + Vim звучит куда лучше, чем IDE или Vim.
                                            • +5

                                              Всё, что вы описали умеет любой современный редактор. И подсветка синтаксиса за 10 минут и рефакторинг по регуляркам и прочие радости жизни.

                                              • +5
                                                Бла-бла-бла… Vim поддерживает регулярки

                                                Все поддерживают регулярки :)
                                                • –2
                                                  Ваш случай достаточно уникален. Возможно для вас Vim прекрасный выход. Хотя регулярки не только Vim поддерживает.
                                                  А про мой случай: Я не хочу «брать себя в руки». Инструмент должен быть удобен сразу, без «взять себя в руки».
                                                  • 0
                                                    Уникальность этого случая скорее всего в том, что большая часть телеком оборудования сделана на основе кастрированного Linux и ничего кроме vi на борту такой конструкции просто нет. Гонять туда-сюда конфиг, чтобы поправить один парамерт весьма непродуктивно.
                                                  • 0

                                                    Э. Perl, например. Или даже sed. То что вы описали, вполне подоходит под описание автоматизируемой раз и навсегда задачи.

                                                • –2
                                                  Не холивара ради…
                                                  • +33

                                                    Что мы узнали из статьи? Что клавишу E нажать быстрее, чем Ctrl+Right. Ок.

                                                    • +1

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

                                                      • +6
                                                        но, для многих людей, сильно удобнее
                                                        Дополню фразу примером, чтобы было понятнее. Вспомните печатную машинку. Когда человек умеет быстро печатать слепым десятипальцевым методом vim для него гораздо удобнее. Все эти сочетания клавиш не просто медленнее, они мешают.
                                                        • 0
                                                          Вот собственно и суть фичи — vim хорош для быстрых манипуляций с текстом. Но саму разработку он не ускоряет. Там нет такого количества манипуляций с текстом (может быть веб?). Навигация по коду, поиск, рефакторинг — не уступают и не превосходят современные IDE. Они просто делают это иначе. Для vim нужно запоминать кучу однобуквенных сочетаний, для обычных IDE — кучу горячих клавиш. Разница возникает только когда человеку хочется трогать мышь или работать по удаленке.
                                                          • +2
                                                            Там нет такого количества манипуляций с текстом


                                                            В Vim есть все, что связано с любыми манипуляциями с текстом. В нем уже реализован любой бред, который вам придет в голову. Даже если вы придумаете это под тяжелыми наркотиками или попросите что-то придумать больного на всю голову психа даже не сомневайтесь. Vim будет на вашей стороне.
                                                            • –4

                                                              Хочу из списка слов разделённых пробелами получить все варианты их перестановок, каждый на отдельной строке.


                                                              Хочу по нескольким введённым словам получить осмысленное предложение-палиндром, начинающееся с них.


                                                              Хочу по введённой строке текста получить список словосочетаний, которые рифмуются с окончанием строки.

                                                              • 0
                                                                Разработка маленько не про текст, а про логику. И если это не верстка латеха или какого-нибудь html/css/xml больших манипуляций с текстом обычно не происходит.
                                                            • +4

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

                                                              • +2
                                                                Слепой десятипальцевый метод в программировании реально помогает. Не из-за ускорения набора текста программы, как такового. Из-за того, что не надо отвлекаться от обдумывания программы на борьбу с клавиатурой. Понял, что должно быть на очередной строчке твоей программы — дальше пальцы сами справятся, тыц-тыц, и оно уже там. Впрочем, надо заметить, что дурацкое расположение скобок и спец-символов на клавиатуре приводит к очень частым опечаткам именно в них и портит всю картину довольно сильно.
                                                                • +1

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

                                                                  • 0

                                                                    Много вы знаете людей, печатающих не слепым методом, но тупящих в клавиатуру не отрываясь?

                                                                    • +1

                                                                      Обычно на клавиатуру смотрят пока печатают слово. А опечатки видны уже после того, как посмотришь, что напечатал.

                                                                      • 0

                                                                        Есть статистика с пруфами?

                                                                        • 0

                                                                          Нет, есть только личный субъективный опыт. Правда, большого количества людей. Найду статистику, обязательно поделюсь.

                                                                        • 0

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

                                                                        • 0

                                                                          Достаточно, что бы их останавливать когда они пытаются в другой раскладке сообщение печатать...

                                                                      • +1

                                                                        Меня удивляют такие люди. Почему-то у меня нет "борьбы с клавиатурой" и алгоритм пользования мышью я не обдумываю(ну, знаете, вот этот типичный пример про "снять руку с клавиатуры, найти мышь взглядом, перевести руку на мышь, найти курсор взглядом, перевести курсор, кликнуть, снять руку с мыши, положить руку на клавиатуру").

                                                                        • +1
                                                                          Да кто вообще обдумывает алгоритм работы с мышью? У нормальных программистов сразу под клавиатурой находится маковский тачпад ;)
                                                                          • 0

                                                                            Вот ниже в комментах есть такие. И в любой теме про вим это всплывает.

                                                                            • 0

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

                                                                      • +1
                                                                        Печатаю 300+ знаков в минуту, на vim-е работал с 1999 по 2004, потом пересел на emacs, ибо emacs удобнее.

                                                                        Почему режимы суть гавно плюс-минус нормально написано у Раскина в его Интерфейсе.

                                                                        А киллер-фича емакса (и такая фича очень мало у кого есть, что-то подобное есть в Atom/Visual Studio Code, но у них это очень примитивно) — это elisp, то есть возможность работать с кодом не через клавиши, а через команды (как командная строка). У vim-а его язык расширения очень примитивен, поэтому такой метод работы в нём неудобен.
                                                                        • –1
                                                                          Читаете вы тоже быстро :) Семантику моего комментария вы увидели, но не поняли смысл. Я писал не столько о скорости, сколько об удобстве для определенной группы людей, владеющей определенными навыками. Десятипальцевым можно и медленно набирать текст, но использовать сочетания клавиш при этом все равно неудобно. Другая техника.

                                                                          Вообще, я уже давно не пытаюсь никого ни в чем убеждать в подобных спорах. Начинал с K52 для RSX-11M, а сейчас давно уже нахожусь в комфортном для себя балансе между vim и ide, а эту дисуссию посматриваю скорее из ностальгии. Десятки лет проходят, а темы холиваров не меняются :)
                                                                          • 0
                                                                            Я прочитал про удобство, и сразу в первом же предложении написал, что емакс удобнее.

                                                                            Впрочем, тупо холиварить действительно скучно. Удобство в данном случае есть вкусовщина, тут действительно кому что любо, пусть то и юзает.
                                                                            • 0
                                                                              Ну тогда давайте вспомним vi-подобный EDT в том же RSX.
                                                                            • +1
                                                                              Почему режимы суть гавно плюс-минус нормально написано у Раскина в его Интерфейсе.

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


                                                                              Пример плохого переключения режимов — циклическое переключение языков.

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

                                                                                Это, мягко говоря, неправда. В виме регулярно люди путаются, в каком именно режиме они находятся. Шутки про тройной долбёж по кнопке esc не на пустом месте, да и внезапно появившийся символ i в странном месте в пулл-реквесте тоже.
                                                                                • +1
                                                                                  Это, мягко говоря, неправда. В виме регулярно люди путаются, в каком именно режиме они находятся.

                                                                                  Поначалу да, путаются.


                                                                                  Шутки про тройной долбёж по кнопке esc не на пустом месте

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


                                                                                  О проблемах с символом i в пулл реквесте я не слышал.

                                                                                • 0
                                                                                  > забыть в каком режиме ты сейчас находишься достаточно трудно.

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

                                                                                  Так же не понимаю, как можно считать редактор с режимами удобным, если постоянно приходится помнить, в каком режиме находишься. Плюс стандартные действия с текстом во всей системе осуществляются одним образом, а в vi другим. Как это может быть удобно — непонятно.
                                                                                  • +1
                                                                                    Как это может быть удобно — непонятно.
                                                                                    Тут вопрос не «как», а «кому». Тому, кто не путает вторую и четвёртые передачи, однако.

                                                                                    А профессионалов (причём не только у автогонщиков, но и у дальнобоев, коих несравнимо больше) этих передач может быть и два десятка, представляете?

                                                                                    Это не в упрёк вам — просто люди разные, кто-то в четырёх-пяти передачах путается, а кто-то и в 4-5 режимах VIM'а чувствует себя как «рыба в воде».
                                                                                    • 0
                                                                                      Смотрите по скорости (спидометр) и тахометру.
                                                                                      У каждой передачи свое соотношение.
                                                                              • 0
                                                                                Опередили. Вопрос ниже.
                                                                                Del
                                                                              • +7
                                                                                Да, быстрее. Всегда быстрее набрать команды с клавиатуры, чем навести мышь.
                                                                                Если привыкаешь писать код двумя руками, прерываться на то, чтобы, положить руку на мышь, найти курсор, навести его куда-то, нажать комбинацию кнопок на мыши и клавиатуре, вернуть руку на клавиатуру кажется не самой лучшей тратой времени.
                                                                                Кроме того, использование только клавиатуры, а особенно если не приходится использовать сочетания, дает возможность по максимуму почти интуитивно использовать бытрые последовательности команд («мышечную память»). То есть я заранее знаю, какой набор действий надо выполнить, и могу это сделать очень быстро. С мышью такое невозможно — каждое перемещение курсора требует сосредоточенности и постоянного контроля, т.к. можно промахнуться.
                                                                                Условно говоря, мышь — это аналоговый интерсфейс, постоянно требующий коррекции на основе телеметрии с экрана, а клаватура — цифровой, достаточно выбрать клавишу.
                                                                                • 0
                                                                                  По сути IDE и Vim в равной степени позволяют писать код не отрывая рук от клавиатуры. И поддержка мыши скорее достоинство. Если вы что-то не помните вы берете таки эту гадость в руки и тыкаете в менюшку. В случае Vim-а нужно будет доки покурить.
                                                                                  • +6
                                                                                    Проблема не в использовании мыши. Проблема в подходе.

                                                                                    Вы не поверите В СКОЛЬКИХ местах IDE глотают нажатия клавиш, если кто-то набирает быстро и не глядя на экран. В VIM вы можете быть уверены, что набрав 100 команд не глядя на экран вы увидите то, на что рассчитывали. IDE (за исключением текстовых) в одном случае из 100 будет что-то глотать. Вроде бы немного, но это значит что ваши действия нужно контролировать после каждой команды. Иначе рано или поздно вы пропустите момент, когда какое-то окно не успело открыться (или закрыться), после чего уже все последующие команды пойдут «мимо контекста».

                                                                                    В том-то и дело, что на самом деле режимов у IDE в 100 раз больше, чем у VIM'а (окно редактирования свойств класса — один режим, окно открытия файла — другой, окно заливки в VCS — третий и так далее… сотни их… если не тысячи...).

                                                                                    Так что разница принципиальна: в IDE вы работаете с компьютером в режиме диалога, в VIM это «я сказал, компьютер сделал».
                                                                                    • 0

                                                                                      Никогда об этом не задумывался в таком ключе, хотя и сталкивался не раз. Спасибо за чёткую формулировку.

                                                                                      • +1
                                                                                        Забавно, что на самом-то деле это разница между TUI и GUI.

                                                                                        То есть когда я работал в каким-нибудь седом Turbo Pascal'е, то для меня не предоставляло проблемы нажать «не глядя» что-нибудь типа "<Ctrl+F7> x <Ctrl+F7> y <Ctrl+F8> <Ctrl+F9>" — всё это «не глядя», после чего я мог повернуться и что-то написать на листочке, пока комп всё это будет проделывать (у нас жётских дисков в компьютерном классе не было, а при работе с дискетки одно окно могло окрываться секунд 5). И это не вызывало ощущения «ужасающих тормозов»: думаю-то я всё равно не так быстро, так что после того, как я подал пару десятков команд могу и подумать над чем-нибудь ещё.

                                                                                        А вот в Clion гораздо меньшие тормоза — раздражают ужасно. Потому что я не могу «забросить» кучку команд и глотнуть кофе. Я должен за этим монстром приcматривать… и подавать команды когда он будет готов. Возникает вопрос: кто для кого работает — я для компьютера или компьютер для меня?

                                                                                        На машинке за $10'000 примерно, впрочем, тормозов почти нет и можно работать почти как в Turbo Pascal'е… потому что CLion успевает отреагировать на всё между двумя нажатиями клавиш… но есть ощущение какой-то неадкватности: неужели же вся эта моща нужна только, чтобы компенсировать тот факт, что мы используем GUI?

                                                                                        Обидно как-то…
                                                                                        • 0

                                                                                          Нет, тут разница скорее между однопоточностью и многопоточностью. То, что в однопоточной программе получается автоматически, в многопоточной (гуй — это почти всегда несколько потоков) требует намеренной реализации.

                                                                                          • 0
                                                                                            Это уже детали реализации. TUI тоже может запускать фоновые процессы, общаться с демонами и прочая, прочая, прочая. В конце-концов Vi, как бы, родился во вполне себе многозадачной системе.

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

                                                                                              Потому что гуй к ним писали по тем же принципам что и сайты, там нет основного потока исполнения для формы (как было к примеру у delphi для для winforms) а если ещё и начинают использовать асинхронный js, то это же и выходит по сути страничка браузера. Меня это застало на vs от ms(большой не code) когда ты жмёшь быстро ctrl+f и текст, и первые буквы успевают попасть в файл с кодом т.к. окошко ещё не успело всплыть.
                                                                                              p.s. vim-ом не пользуясь, очень редко нужно писать быстро, и в основном это касается запросов к БД где ключевой ускоритель — подстановка названий полей.

                                                                                      • 0
                                                                                        Особенно подпишусь под надежностью.
                                                                                        Для администрирования, когда нужно быстро подправить какую-то опцию, учитывая возможности vi/vim в навигации по тексту, это особенно прекрасно в случае медленного коннекта. Например с мобильного телефона за пределами обитаемых мест.
                                                                                        • 0

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

                                                                                    • 0
                                                                                      Да вы знаете, мы и в IDEA прекрасно пользуемся клавиатурой, там масса шорткатов. Есть даже режимы Find action и Search everywhere с клавиатуры — описывать не буду, посмотрите сами. Мышь используется по минимуму. Почти никогда не выделяю мышью текст — для этого есть стрелки и другие кнопки навигации с модификторами и Extend selection (Ctrl+W), Shrink selection (Ctrl+Shift+W).

                                                                                      Поклонники vim'а запоминили только, похоже, как выглядели IDE лет 20 назад.
                                                                                      • +5

                                                                                        Оно там тоже все есть)))
                                                                                        Разница между Vim и IDE…
                                                                                        Vim изначально рассчитан на горячие клавиши и построение команд, по этому с ходу тяжело научится этим пользоваться…
                                                                                        IDE позволяет постепенно уходить от мышки, меню к неудобным горячим клавишам, которые в команды не строятся.
                                                                                        В виме ведется работа с буферами, не важно что в них отображается, главное что они ведут себя одинаково.
                                                                                        В IDE каждое окно имеет свой интерфейс взаимодействия.
                                                                                        В виме я могу расположить информацию как угодно за счет буферов и вкладок(не только файлы) и перемещатся одними и теми же хоткеями.
                                                                                        В IDE я толком не могу разделить даже файлы в разном виде(горизонтально, вертикально, по 3, по 4, спрятать скрыть) конфигурации, не говоря уже о приятном интуитивном перемещении по ним.

                                                                                      • 0

                                                                                        Я не отрицаю, что в IDE можно работать без мыши. Но это не настолько удобно. И шорткаты в разных IDE разные, особенно Visual Studio от других отличается.

                                                                                      • –2

                                                                                        Не стоит тратить время. Они просто не понимают о чем Вы. Им нравится "не пробовал но осуждаю" и проходить vimtutor не будут.
                                                                                        Я им так скажу: "10 пальцевый слепой набор. VIM — руки всегда на месте, IDE — как минимум руки скачут к стрелочным кнопкам и/или мыше."
                                                                                        P.S. С условием что Esc на Caps Lock.

                                                                                        • –1

                                                                                          Ещё раз — зачем он нужен программисту, ваш десятипальцевый слепой набор? Ну добились вы 500 знаков в минуту, ок. И что? Я за это же время нажал 5 клавиш, а кода у меня получилось больше. В программировании набивка кода — это вообще не главное.

                                                                                          • 0
                                                                                            Ещё раз — зачем он нужен программисту, ваш десятипальцевый слепой набор?

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

                                                                                            • 0

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

                                                                                              • 0
                                                                                                По-вашему, существует два вида печати — ваш метод и "уткнулся в клавиатуру, ничего не вижу, страдаю, набираю в час по чайной ложке"?

                                                                                                Совершенно непонятно, откуда вы сделали такой вывод. Я был бы благодарен за цитату. Мы тут обсуждаем полезность для программиста слепого набора на клавиатуре. Слепой набор это когда программист не смотрит на клавиатуру, когда печатает. Когда программист смотрит на клавиатуру — он немножко теряет контекст. Чем меньше он отвлекается, тем проще ему работать.


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

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

                                                                                                • –1

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


                                                                                                  Кто вам сказал, что теряется контекст при взгляде на клавиатуру? Это ваши домыслы. Программист может смотреть вообще в сторону, не на код, а в окно и не терять контекст. Если для вас контекст — это три строчки кода, у меня плохие новости.

                                                                                                  • +1
                                                                                                    Ну из вашего же комментария следует, что все, кто не владеет десятипальцевым слепым методом, страдают и не могут даже переписку вести нормально.

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


                                                                                                    Кто вам сказал, что теряется контекст при взгляде на клавиатуру? Это ваши домыслы.

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

                                                                                                    • –3

                                                                                                      Домыслы, субъективизм, проецирование личного опыта на других.
                                                                                                      Всё, я в этой теме больше не отвечаю, сколько раз зарекался вступать в холивары с фаниатиками.

                                                                                                      • +1
                                                                                                        Домыслы, субъективизм, проецирование личного опыта на других.

                                                                                                        Я хотел бы отметить, что это не только мои личные домыслы, а опыт большого количества людей. Кстати, вы умеете печатать вслепую? У вас есть такой опыт?


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

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

                                                                                                      • 0
                                                                                                        Из моего комментария следует, что всем, кто владеет десятипальцевым слепым методом переписку вести удобнее, чем тем, кто не владеет.

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


                                                                                                        Превосходство десятипальцевого метода над остальными вы не доказали.


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

                                                                                                        • 0
                                                                                                          Нет, из него следует что всем, кто владеет слепым методом переписку вести удобнее, чем тем, кто не владеет.

                                                                                                          А я что написал?


                                                                                                          Да и, честно говоря, потеря контекста тоже у вас вышла какая-то натянутая.

                                                                                                          Вы умеете печатать не глядя на клавиатуру?

                                                                                                          • +1
                                                                                                            Вы умеете печатать не глядя на клавиатуру?

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

                                                                                                            • 0
                                                                                                              Я владею обоими методами слепой печати и не наблюдаю ни разницы в скорости набора, ни потерь контекста.

                                                                                                              Меня вот, пока не научился не глядя на клавиатуру печатать, перенос фокуса с экрана на клавиатуру и обратно очень раздражал. И такие ощущения у достаточно большого количества народу. Надо опрос на хабре устроить :)

                                                                                                              • 0
                                                                                                                Меня вот, пока не научился не глядя на клавиатуру печатать, перенос фокуса с экрана на клавиатуру и обратно очень раздражал.

                                                                                                                Меня тоже, и именно поэтому я сначала выучился печатать не глядя на экран. Это позволило увеличить скорость печати, в результате чего руки стали постепенно "запоминать" клавиатуру. А там уже получилось перестать на нее смотреть :-)


                                                                                                                Но одновременно с этим меня перестал раздражать перевод фокуса между экраном и клавиатурой.

                                                                                                            • 0
                                                                                                              Это такой способ «застыдить»? Я вот не скажу — умею ли я печатать, не глядя на клавитуру, но таки тот факт, что на клавиатуре, на которой я набираю это сообщение нет русских букв меня не напрягает… И нет — раскладка у меня не ЯВЕРТЫ…
                                                                                                              • 0
                                                                                                                Это такой способ «застыдить»?

                                                                                                                Нет, конечно. Интересно с точки зрения статистики.

                                                                                                  • 0

                                                                                                    Я без десятипальцевого не смотрю на клавиатуру и пишу почти без ошибок — ЧЯДНТ?

                                                                                                    • +1

                                                                                                      Вы всё делаете так. А с моей стороны — проблема с терминологией. Я говорил про способность печатать не глядя на клавиатуру. Каким методом — неважно. То есть, по моему мнению, владеть именно десятипальцевым методом не обязательно.

                                                                                                      • +1
                                                                                                        На самом деле такие статьи очень Важны. Для гуру это просто способ обсудить что то, для таких как я любителей которые никогда не смогут бежать быстрее черепашки это мостик который не перепрыгнуть! Просто «знающим» практически всегда непонятно что неясно новичку. А вы построили еще один мостик… спасибо!
                                                                                          • +9
                                                                                            А в виме нужно просто нажать e

                                                                                            Объясните мне, как не_пользователю_vim, как тогда в этом случае там набирать букву «е»? Или подразумевается, что для того, чтобы переместить курсор к концу слова, надо сначала перейти из режима набора текста в какой-нибудь режим навигации, а уже потом нажать е?
                                                                                            • +2

                                                                                              Именно так: из режима «вставки» в «нормальный» режим. Хотя у меня для таких мелких передвижений в режиме набора используются сочетания вроде <C-b>/<C-f> (назад/вперёд на символ), ,b/,w (назад/вперёд на слово), ,B/,W (назад/вперёд на СЛОВО (ограниченное пробелами: первый вариант переносит на f в (foo|, второй — на ()). (Я имею ввиду, не выходя из режима вставки.)


                                                                                              И стрелки с <C- вроде тоже поддерживаются, но до них далеко тянуться и с высокой вероятностью в терминале что‐то из стрелок с модификаторами работать не будет.

                                                                                              • +2
                                                                                                Спасибо, понятно. Ну тогда особых преимуществ я для себя и не вижу. Разве что полностью ломать парадигму набора текста, вместо «пишешь и правишь по ходу» на «пишешь всё, а потом правишь всё».
                                                                                                Делать под себя набор клавиатурных макросов может быть и удобно, но лишь до тех пор, пока не окажешься на другом компьютере, где их нет.
                                                                                                • +3

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

                                                                                                  • +8

                                                                                                    Трагизм ситуации в том, что на первом этапе работать будет очень неудобно и всё будет делаться очень медленно. В случае с хорошей IDE, это обычно не так.

                                                                                                    • +2

                                                                                                      vimtutor в помощь

                                                                                                      • +1

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

                                                                                                        • +4
                                                                                                          Может быть, это дело привычки. Меня неприятно «радовали» всякие экзотические штуки вроде Atom, но если брать популярные IDE, вроде IDEA, Eclipse или даже Visual Studio, они все следуют устоявшейся схеме интерфейса, и все нужные функции оказывались там, где я их и искал.
                                                                                                          Как по мне, IDE предоставляют две незаменимые фичи, отсутствие которых куда сильнее бьёт по продуктивности, чем +5% к скорости правки текста. Это навигация по коду а-ля «перейти к определению метода/класса» и рефакторинг.
                                                                                                          • –1
                                                                                                            «перейти к определению метода/класса»

                                                                                                            Это есть и в vim, хотя да в IDE сделано лучше из-за того, что IDE держит в код в памяти в разных представлениях.


                                                                                                            рефакторинг.

                                                                                                            Ну да, тут явно лучше. Но опять таки какой смысл сравнивать ежа с ужом. vim это про редактирование кода, отсюда и популярность vim плагинов в IDE

                                                                                                            • +2

                                                                                                              В вим этого нет. Найти метод по названию можно, но если их десяток в разных классах? IDE анализирует код и знает, какого класса текущий объект. Для вим такого плагина не видел.

                                                                                                              • 0
                                                                                                                К виму вроде тоже можно прикрутить анализаторы и менять все вхождения методов/членов классов/прочих code entity. Даже для какого-нибудь Си++ думаю что-то найдется.
                                                                                                                • –1
                                                                                                                  В вим этого нет. Найти метод по названию можно, но если их десяток в разных классах?

                                                                                                                  Нужен плагин для соответствующего языка. Например для Python и Go все это есть: подсказка будет учитывать экземпляром какого класса является эта переменная. По моим ощущениям качество подсказки для Python такое же как в Pycharm.


                                                                                                                  А вот автоформатирование Python, на мой взгляд в Vim слабее чем в Pycharm или Spacemacs.

                                                                                                                • 0

                                                                                                                  А что, мелкий рефакторинг типа "переименовать метод" уже перестал быть редактированием кода?

                                                                                                              • 0
                                                                                                                Но с IDE в отличие от vim по началу не возникает разрыва шаблона с написанием текста.
                                                                                                                Банальный Hello World получится написать на раз-два, а потом уже по мере необходимости вникать во все менюшки.
                                                                                                                С vim же, насколько я понял, получается ситуация, что нужно изучить толмут по правилам работы с ним, чтобы можно было нормально работать, а потом уже человек сможет что-то сделать. Но возникает вполне закономерный вопрос, а зачем ему это, если под рукой есть текстовые редакторы и IDE с «классическим» алгоритмом печати текста.
                                                                                                                • 0

                                                                                                                  Туториал изучается примерно за полчаса. Для начала работы надо запомнить примерно десять действий. Потом начинается процесс адаптации: желательно внимательно прислушиваться к совим дейтвиям и прикидывать а нельзя ли вот это действие, которая делаю постоянно сделать быстрее. И ответ на этот вопрос будет почти наверняка "да, в vim есть уже такая кнопка или команда".

                                                                                                            • 0

                                                                                                              В IDE точно так же надо привыкать к хоткеям (или настраивать их под себя). Елозить по менюшкам-тулбаром мышкой — это несерьезно, разве что поначалу для ознакомления. У меня в IDEA все тулбары отключены к чертям, все делаю хоткеями. Ну и IdeaVIM-плагин стоит, конечно :)

                                                                                                          • +2
                                                                                                            Пользователи вима ценят возможность проводить манипуляции с курсором и текстом без необходимости держать при этом зажатыми клавиши-модификаторы

                                                                                                            … сочетания вроде <C-b>/<C-f> (назад/вперёд на символ), ,b/,w (назад/вперёд на слово), ,B/,W ..

                                                                                                            Shift то все-равно придется зажимать для заглавных букв?
                                                                                                            • 0
                                                                                                              Shift то все-равно придется зажимать для заглавных букв?

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

                                                                                                              • –2

                                                                                                                Обычно автокомплит помогает

                                                                                                                • 0

                                                                                                                  Да, но здесь‐то модификатор всего один! Впрочем, в терминале <ModX-ModY-x> не заработает практически никогда, поэтому если вам (хотя бы иногда) нужен именно терминал с Vim, то ничего назначать на «сложные» сочетания вы не будете, потому что не можете, а не потому что неудобно (я, к примеру, не вижу ничего сложного в <C-S-, нужно просто мизинец чуть больше (Ctrl на CapsLock) согнуть). Поэтому же в стандартных сочетаниях есть <C-буква(лат.)>, верхний регистр, все печатные ASCII символы и немного оставшихся <C-неБуква> из того, что есть в ASCII (вроде U+001D, <C-]>) и вроде даже <F1>, но больше ничего: Брам не любит добавлять возможности, завязанные на GUI, вплоть до того, что сочетание <C-S-x> внезапно означает то же самое, что и <C-x>, потому что именно так поступают все эмуляторы терминалов без настройки (а многие и настроить различать эти два случая нельзя). (В последнем предложении под x понимаются печатные символы из ASCII, <C-S-F1> в GUI нормально работает, иногда даже и в терминале.)


                                                                                                                  Кроме того автор из первой цитаты намекал на нормальный режим, а я написал, что я использую в режиме вставки. Впрочем, там тоже есть полезные сочетания с <C- и <S-, особенно с shift’ом.

                                                                                                              • 0

                                                                                                                Да, именно так. Кроме того, если вы переместили курсор к концу слова для того, чтобы что-то написать сразу после этого слова — нужно после клавиши e нажать клавишу a для перехода в режим введения текста.

                                                                                                                • +3
                                                                                                                  Вот к примеру у меня(да и у многих знакомых разработчиков) есть такая привычка — сначала набираем две скобки(или кавычки, или любые другие парные символы), потом нажимаем стрелку влево и набираем то, что в скобках должно быть. То же самое в vim'е можно сделать только переключившись 2 раза из режима в режим и никак иначе?
                                                                                                                  • 0
                                                                                                                    нет, просто vim сам закрывающую скобку вставит сразу после открывающей, а курсор оставит между ними. По крайней мере emacs так делает, vim должен уметь так же
                                                                                                                    • 0
                                                                                                                      Так и IDE делают, смысл в том, что определенная группа людей отключают этот функционал, и набирают кавычки вручную
                                                                                                                      • +1
                                                                                                                        Люди делают вручную то же самое, что IDE может сделать автоматически? Зачем им тогда IDE?
                                                                                                                        • 0
                                                                                                                          У меня IDE например к сожалению так не умеет в основном языке, и если пишу на чем то другом — руки на автомате символы зеркалят:"", (),{},[], и т.д. Тем более что они рядом.