Последние пару недель нет времени ни писать, ни бегать. Сначала боролся с соплями, потом со знаниями. Из интересного, почти отказался от VS Code и перешёл в VIM. Тут надо сразу оговориться, я пишу vim, но подразумеваю nvim. То есть в том контексте, о котором я пишу разницы нет.
Помню, как впервые пытался использовать навигацию по файлу с помощью hjkl. Выглядело жутко неудобно. Сейчас, кстати, не сильно лучше.
На frontendmasters.com есть классный курс, если есть возможность оплатить подписку, советую оплатить и посмотреть. Я его прошел. Но сложно взять и посмотреть кучу роликов. На практике эти знания сразу применить невозможно. В итоге запоминаешь лишь часть информации и потом пытаешься применить по необходимости.
Вообще я долго пытался понять что неудобно в vim и почему он для меня не работает. И в какой-то момент пришла мысль о том, что я пытаюсь использовать его как использую все остальные GUI редакторы. А надо изменить подход. То есть мало отказаться от использования мышкой, надо еще изменить способ мышления. Идея не в том, чтобы мыслить не символами и хоткеями, а командами.
Композиция команд — это очень мощная концепция в Vim/Neovim. Например, команда может состоять из трех частей:
— Оператор (что делать)
— Модификатор (сколько раз или как)
— Движение (с чем делать)
Примеры:
d2w   - delete 2 words
da{ - delete around {}
y$    - yank to end of line
ciw   - change inner word
c3j   - change 3 lines down
        Вот к примеру основные операторы
d- delete (удалить)y- yank (копировать)c- change (изменить)p- put (вставить)
и основные движения
w- словоb- назад по словамe- конец слова$- конец строки0- начало строки^- первый непробельный символ в строке
А теперь представьте как можно их компоновать. Поначалу это сильно ломает мозг. Начинаешь думать какие клавиши нажать, чтобы изменить слово внутри кавычек или прыгнуть сначала наверх файла, а потом вернуться назад. Переключиться между разными файлами тоже в начале сложно.
Более того, команды регистрозависимые. Например,
word - последовательность букв, цифр и символа подчёркиванияWORD - последовательность не пробельных символов
Поэтому
example_variable_name      # три words, то есть три нажатия w
example_variable_name      # один WORD
some-compound-word        # три words
some-compound-word        # один WORD
        gg — прыжок к началу файла, а G — к концу. Команд так много, что сложно все запомнить. Но я стараюсь каждый раз, когда чувствую сложность и непонимание "как сделать так чтобы было удобно" идти гуглить и пытаться запомнить как же.
Вот последние находки для разделения одно окна на панели
— <C-w>v или :vsp - вертикальное разделение
— <C-w>s или :sp - горизонтальное
Для навигации между панелями:
— <C-h> - в левое окно
— <C-j> - в нижнее окно
— <C-k> - в окно сверху
— <C-l>- в правое
То есть идея понятна, те же hjkl + нажатый Ctrl.
А еще метки. Про них наверное отдельно надо писать. Если кратко, то ma ставит метку 'a'. mb — метку 'b'. Не важно где была поставлена эта метка в этом файле и сегодня ли. Но 
- `a и `b позволяет переключаться между файлами или теми блоками где вы были очень быстро
- `` позволяет вернуться к предыдущей позиции
- '. возвращает к последним изменениям
        В общем, пока я нажимал www, гуляя по словам, было прикольно, но как-то странно. Потому что преимущества с обычным редактором не были заметны. А вот метки как раз принесли очень интересные возможности. 
PS: Как я писал в начале поста "я почти отказался от VS Code". Мне все еще нравится VS Code. Он прекрасен и привычен. Поэтому когда я устаю разбираться с vim, я просто переключаюсь на VS Code.