Перейти к содержимому
Обложка сообщества Дневники

Vimium, Vim и DOOM

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

Я, как пользователь операционной системы на базе линукса - люблю баловаться с компьютером, однако всегда есть риск непоправимых вещей. Я, в очередной раз балуясь с модулями ядра, повредил драйвер тачпада. Я без проблем могу открыть редактор и исправить все обратно без использования тачпада - подумал я. Исправив ошибку, которая как мне казалось и повлияла на дисфункцию тачпада - я с облегчением перезагрузил компьютер и чуть не умер от инфаркта поняв, что ничего не исправил. Я, отойдя от шока, открыл браузер используя строку поиска приложений. Там я ввел запрос, в котором описал свою проблему и вот оно - [Solved], как же я был рад увидеть это слово в числе первых 5 ссылок из поисковика. Надо было просмотреть первые 4, как же без этого. Я так обрадовался тому, что решение скорее всего есть, что забыл одну проблему - я не могу нажать на ссылку. Есть много способов пройти по ссылке, не имея под рукой мышку, а под пальцем тачпад. Табы; поиск по странице; тач скрин, если повезет. Но в тот момент, обрадовавшись, я решил дать своему другу шанс. Я без проблем нашел его в магазине приложений Хрома. И он изменил все.

Vimium

Слово Vimium происходит от слова Vim, которое в свою очередь происходит от слова VI. Что это все такое - вы можете узнать сами, я лишь расскажу о тех аспектах вимиума, которые мне помогли тогда и помогают каждый день. Установив вимиум в хром - я сразу его опробовал, нажав f. Моя страница преобразилась..

Я сразу понял что к чему. Тем кто не понял - обьясню: каждая ссылка и кнопка на странице теперь емеет shortcut из комбинации символов, если вы хотите попасть на статью в википедии - нажмите SL и вы уже там, хотите открыть картинки? Нажмите SC. Поняли суть? Набирая нужные символы - вы переходите по нужным ссылкам или нажимаете на нужные кнопки. Все это работает благодаря f которая означает find. Еще один сюрприз - большинство коммандных клавиш в вимиуме названны как функции, которые они непосредственно выполняют. Хотие спуститься вниз? d. Хотите на верх? u. Подумайте почему они так названны.

Вы спросите - а какую клавишу нажать, что бы найти что-то в браузере? f уже занята, хотя слово find вполне подходит. А как на счет слова browse? Просто нажмите b и вуаля!

Поиск работает! И даже больше - если вы пользуетесь закладками - можно без проблем вводить их и вас доставит куда надо.

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

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

And I'm not done yet.

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

VIM

Великий и ужасный. Сейчас я расскажу что это, но вам стоит понять, что он имеет дурную славу в мире программистов. Это текстовый редактор. Да, ничего особенного в его определении, кроме того, что это текстовый редактор на основе машины состояний. Что такое машина состояний? Представьте холодильник. Вы можете взять масло из холодильника только если он открыт, если он закрыт - то вы особо ничего не можете сделать. Вим это холодильник с как минимум 4мя состояниями, а не с 2мя как у холодильника. Каждое состояние позволяет управлять вимом по своему.

Лично я использую эти состояния:

NORMAL

INSERT

APPEND

VISUAL

Я не буду расписывать каждое, скажу лишь то, что существет основное состояние, или как его называют - мод. NORMAL. Нормальный мод - это основное состояние вима, которое позволяет открыть все другие состояния. Состояние INSERT, APPEND и VISUAL открываются в нормальном моде при помощи i, a и v соответственно, однако есть проблема...

этот ключ открывает замок. А какую дверь открывает замок я выбрал сам.

Нормальный мод - развязка. С этой развязки можно уехать на любую скоростную трассу. А как с нее съехать? Как попасть к себе домой? Как выйти из вима?

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

Я, спустя 9 месяцев использования вима без проблем выхожу из него. Скажу больше - из моего вима вам не выйти. Чуете чем пахнет? О да. Я могу без проблем изменять вим под себя.

Vim - это open source. Это значит код его программы можно найти в сети и глянуть что там внутри. А еще его можно изменить. Конечно, я не менял сам вим координально. Буквально добавил 1 строчку. Но можно добавить и 2.. И 3... И 30000 строчек. У вима - бесконечный потенциал к развитию и модификациям - почтиайте про Neovim.

Он сложный, о да. Сложнее ЕНТ. Многие интуитивные комманды (пару примеров я показал в части про Vimium) не знакомы юзерам, а вим не то что бы горит желанием рассказать им. Но как только узнаешь их - становится проще. d - delete (dd - строчку, dw - слово, dib - delete in brackets удалить в скобочках), сtrl + d - down, u - undo, ctrl + u - up, g - go (gg - в начало докумета, G - в конец, g45 - на 45 строчку документа). Этих комманд на самом деле не много. Но комбинируя их можно делать вещи, которые тот же ворд никогда не сможет.

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

Успеет...

this will go even further beyonD

Вим как минимум быстрее всего что вы видели. Игры, браузер, ворд, интегрированные среды разработки, операционные системы, самый быстрый интернет. Вим летит быстрее скорости всета. Может лететь с такой скоростью. Если вы его разгоните, конечно же. Думаете его сверх световой двигатель весит много тонн? Нет. Может он потребляет много горючего? Нет. Надо ли иметь степень в квантовой механике что бы управлять им? Да, но это того стоит. На сколько вим быстрее? На столько. Не бойтесь, вы не упадете и не разобьетесь с него. Как только вы будете ездить на нем со скоростью черепахи - вы уже никогда не упадете.

бесконечность - не предел

В физике чем больше скорость - тем медленнее время (релятивистская физика). Однако мы не в физике, а в виме. Вим может и работает на огромных скоростях, но существует всего 28 лет. За 28 лет он ушел далеко.... Но не так далеко как мог бы (почитайте про вражду между вимом и неовимом). Вим имеет много расширений, которые расширяют его функционал, но и этот функционал не способен на все. Я не буду вдоваться в детали, но вим хорошо делает только одну вещь - редактирует текст.

Я использую вим, что бы быстро изменить некий фаил. Очень быстро. Но иногда просто нужна IDE - интегрированная среда разработки. Но IDE уступают виму в скорости. Вим можно превратить в IDE, но я в свое время не захотел возиться и настраивать вим в полноценную среду разработки. Редактирует документ? Супер, но если мне надо работать над проектом? Над двумя?

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

DOOM

А точнее emacs, а еще точнее GNU emacs. Емакс старше вима. Он не такой быстрый как вим. Но вим написан на вим скрипте и C, а емакс на лиспе и C. И так вышло, что лисп существует для программирования, а вим скрипт для вима. То есть вим можно улучшать только в пределах вима. А емакс можно улучшать буквально как угодно. Вот редактируете текст в емаксе, захотели послушать музыку, не выходя из емакса запускаете музыку. Какую музыку? любую. Ту что скачали, а так же из интернета. Да, не открывая браузер, условно конечно, вы открываете браузер в емаксе. Это говорит о том, чтоСТОП, ЧТО?! Да, представьте. Что бы открыть браузер - не надо открывать браузер. Если открыт емакс - можно в нем открыть браузер, почту, калькулятор, видеоплеер, игры. И все в пределах скорости вима (нет, браузер будет грузить так же как и всегда).

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

В виме есть так называемые шорткаты, как я уже сказал - они интуитивны. В емаксе точно так же! Свои собственные шорткаты! Они отличаются от вимовских, а еще они такие же интуитивные (почти). Но! Тут нам палки в колеса вставляет Петир Бейлиш.

Мизинец - коварный персонаж Игры Престолов. Однако в нашей жизни мы им редко пользуемся. Я, как человек который печатает вслепую (прим. я смотрю на экран, не клавиатуру), очень трепетно отношусь ко всем своим пальцам и стараюсь их не напрягать. Мои пальцы всегда на нужных позициях, что бы мне не надо было отвлекаться на клавиатуру. Но любой юзер, что печатает вслепую подтвердит: ctrl - очень опасная клавиша. Почему? Потому что мизинец жмет на контрол. Скажу так - спустя 10 нажатий на контрол вам понадобится морфин, ибо боль будет бешеная.

И вот ужас. Все шорткаты емакса работают через контрол! Ужас!!! Тот кто это сделал точно не имел мизинцев, потому что это одно из самых ужасных решений для шорткатов. Вот у вима такого нет. Я не знаю в виме шорткаты через контрол. Эхххххх, вот бы можно было использовать весь спектр функционала емакса, но при этом иметь шорткаты вима.....

Стоп, вы слышите? Этот адский гул. Это металл. Да, гитары, барабаны, огонь, демоны и кровь..... Он близко.......

They are rage, brutal, without mercy. But you. You will be worse. Rip and tear, until it is done.

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

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

Шорткаты дума, не емакса и не вима, не влияют на редактирование текста. Они существуют для управления самим думом. Дум предоставляет огромный функционал. Фунционал для редактирования целых проектов и отдельных файлов. Буфферы и шорткаты для проектов, закладки для отдельных файлов, возможность быстро переключаться между проектами 2мя кнопками и многое другое. А, ну и весь функционал емакса (то есть целая операционная система) и вима.

Скажу так - откройте дум и можно не выходить из него. Что угодно, максимально быстро, максимально удобно, максимально интуитивно и максимально стильно

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

Вы устали читать, я устал писать.

В мире есть еще больше альтернатив. Но пока я доволен. Зачем я это написал? Без понятия. Я несусь сквозь строки кода со скоростью тахионов. И смотря на матрицу программистов, у меня появляется чувство того, что я должен освободить их. Должен показать им вещи, изучение которых может поменять не просто стиль работы, но и жизни.

1
1
423

Еще по теме

Vimium, Vim и DOOM - Yvision.kz