Найти в Дзене
Сделай игру

NVIM он же NeoVim для разработчика. Часть 2.0

Продолжим наше погружение в мир NeoVim. По правде говоря, это я конечно очень бодро начал, мол, NVIM - оружие профессионалов, а по факту, едва начал им пользоваться - испытал небольшую, но весьма ощутимую прострацию. Дело в том, что данный инструмент требует (как я и писал ранее) совсем иного подхода к работе с документом. Минутка рекламы: если вы открыли эту страничку и не понимаете, а где часть первая - так вот она. Ну разберётесь, короче, как листать там. Суть привычного текстового редактора (какой-нибудь IDE) сводится к набору следующих парадигм: Пожалуй, это основное. И проблема в том, что с NVIM такой опыт уже не действует. И вот почему: В принципе, не то, чтобы всё это было бы проблемой; всё решаемо, другое дело, что привыкнуть нужно. Поэтому я решил продолжить. Следующий этап Итак, я провёл ревизию своих любимых функций и на второй этап освоения решил вытащить следующие: Ну вот, на ближайшее время пока всё. У меня в списке есть ещё желаемый функционал, но надо будет оценить

Продолжим наше погружение в мир NeoVim. По правде говоря, это я конечно очень бодро начал, мол, NVIM - оружие профессионалов, а по факту, едва начал им пользоваться - испытал небольшую, но весьма ощутимую прострацию. Дело в том, что данный инструмент требует (как я и писал ранее) совсем иного подхода к работе с документом.

Минутка рекламы: если вы открыли эту страничку и не понимаете, а где часть первая - так вот она. Ну разберётесь, короче, как листать там.

Суть привычного текстового редактора (какой-нибудь IDE) сводится к набору следующих парадигм:

  1. Всё уже предустановлено и если чего-то не хватает - скорее всего настройка не включена, однако можно и плагин какой-нибудь добавить;
  2. Ты пишешь текст, остальное за тебя делает IDE: подсвечивает синтаксис выбранного тобой языка, форматирует, управляет расстановкой и многое другое;
  3. Выделение текста (как мышью, так и при помощи клавиатуры) позволяет управлять выбранным сегментом: отформатировать, сместить, провести рефакторинг и многое другое;
  4. Горячие клавиши позволяют выполнять некоторый набор действий (объединить несколько строк в одну, открыть окно поиска по функциям и прочее);
  5. Ctrl+tab, Ctrl+shift+tab - стандартное переключение вкладок с файлами и подобных комбинаций - немало.

Пожалуй, это основное. И проблема в том, что с NVIM такой опыт уже не действует. И вот почему:

  1. Выделение больше не работает. Вернее работает, но не так, как мы к нему привыкли;
  2. Надо, необходимо, запомнить великое множество комбинаций клавиш, которые позволяют управлять тем, что происходит на экране; иначе - никак (но, к счастью, количество этих самых комбинаций не так, чтобы сильно большое);
  3. Если что-то "из коробки" не работает, то вполне возможно, что этого и нет вовсе и надо найти какой-то плагин, который эту функциональность реализует;
  4. Некоторые сочетания клавиш, которые ещё надо отдельно назначить, по разным причинам работать не будут, так что придётся привыкать к новым сочетаниям вопреки привычкам;
  5. Про большую часть стандартных комбинаций можно забыть;
  6. Вставить скопированный на StackOverflow текст может быть получится, а может быть и нет; равно как и скопировать текст из редактируемого документа.

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

Следующий этап

Итак, я провёл ревизию своих любимых функций и на второй этап освоения решил вытащить следующие:

  • мультикурсор - отличная штука, позволяющая одновременно редактировать в нескольких местах одновременно; идёт вместе с комбинацией ctrl+d, позволяющей выделять такие же слова в тексте;
  • заключение в скобки и кавычки: выделил текст, нажал скобочку или кавычку - вуаля, он обёрнут;
  • сворачивание кода (когда функция сворачивается и освобождает на время пространство);
  • закомментировать или раскомментировать текст (обычно это ctrl+/);
  • JSDocs - возможность писать документацию для функций JS;
  • Emmet - бомбическая штука для создания html документов: пишешь что-то типа .className>span{Title}, жмёшь Tab и получаешь <div class="className"><span>Title</span></div>; там ещё есть много других фишечек, в том числе и для css;
  • ctrl+Enter из любой части строки - всё равно, что перейти в конец строки и нажать Enter - пустячок, а очень удобно;
  • Сворачивание нескольких строк в одну (при редактировании большого количества строк параллельно их потом, нередко, бывает нужно свернуть в одну линию, зачастую используется комбинация ctrl+j, однако в NVIM есть что-то готовое, только пока непонятное);
  • ctrl+t - поменять две соседних символа или два выделенных фрагмента текста местам (однако она отлично работает только при возможности независимого выделения разных фрагментов, т.е. при помощи мышки), да и занята у нас уже эта комбинация;
  • макросы - это для меня, пока что, чёрный ящик, terra incognito, но штука просто поражающее воображения - позволяет записать набор действий, а потом повторить его на любой другой строке; короче надо освоиться, потом расскажу;
  • ctrl+[, ctrl+] - смещение выделенных фрагментов текста; в режиме редактирования текста есть комбинация ctrl+t, позволяющая смещать текущую строку вправо, но влево пока не нашёл - будем искать;
  • подсветка начала и конца скобок - не то, чтобы очень нужная штука, но в функциях, где много вложенных скобок (любых) найти начало или конец - бывает вопросом сохранения душевного равновесия;
  • и последняя по счёту, но не по значению - быстрая прокрутка страницы: очень актуальна для случаев, когда документ ну оооочень длинный и искать нужно где-то оооочень глубоко внизу или посередине, а туда ещё нужно домотать, а непонятно, в каком месте ты вообще находишься.

Ну вот, на ближайшее время пока всё. У меня в списке есть ещё желаемый функционал, но надо будет оценить его нужность. Как я уже писал, новый формат работы с документами может потребовать новый подход и вскрыть новые потребности, в то время как старые привычные вещи - отойдут на второй план.

А это картиночка, чтобы просто не забывать, с чем мы имеем дело: врагов и друзей надо знать в лицо!
А это картиночка, чтобы просто не забывать, с чем мы имеем дело: врагов и друзей надо знать в лицо!

Продолжение читайте здесь.