Шрифт
Два в одном: как пользоваться Vim и Nano?
Play

Два в одном: как пользоваться Vim и Nano?

Зачем нужна ещё одна, 1001я публикация на эту тему? Статей про vim и nano написано огромное количество, но как правило они касаются только одного из редакторов, либо представляют из себя общий обзор. Чтобы в одной были сжато описаны оба редактора, но при этом без углубления в дебри приведены все основные клавиши управления для полноценной работы, я не не нашёл. Поэтому, почитав найденные материалы, я начал их конспектировать, так и родилась эта статья.

Любой текстовый редактор можно освоить «методом тыка». Но только не vim. Чем nano лучше vim? Из nano можно выйти без reset'а! (с) Интернет

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

Что это и зачем нужно?

Когда недоступна графическая среда, например при работе по ssh, настройке системы до загрузки xserver, либо просто из любви к извращениям красноголазию начинаешь чувствовать себя ущербным инвалидом в консольном текстовом редакторе, клавиш управления которым не знаешь от слова совсем. Даже навигация по файлу и копипаста начинают представлять собой почти непреодолимую преграду. Просто потому, что в консоли не работают многие привычные комбинации клавиш, будучи задействованными под другие нужды ещё во время дискет 5.25" на 320Кб.

Я долгое время использовал редактор от Midnight Commander mcedit, немного пользовался nano, и совсем не пользовался vim. Вызубрить все эти комбинации за гранью возможного — даже потратив на это время, через какой-то период простоя они успешно забываются. До того, как я взялся за написание этой статьи, я не мог заставить себя осилить даже азы vim, он пугает уже на стадии запуска, «пытаешься из него сразу же выйти, и не можешь!» Это как вы сейчас зайдёте в интерпретатор ZX Spectrum BASIC48, то не зная азов даже простейшей программы PRINT «Hello World!» не напишите. Я не переставал задавать себе вопрос: «Интересно, и за что гуру vim так любят? Зачем тратить кучу времени на переобучение, и главное как не растерять навыки, для каких целей его постоянно использовать, этот vim?»

Ниже я опишу самые необходимые комбинации клавиш и приёмы работы в обоих редакторах.

После комбинации Alt-6, как команды «скопировать» я даже и не знаю что сказать Наверное автор Nano был пианистом © из хабра-комментариев

Основой мне послужила статья на хабре: "Nano: И всё-таки его придётся выучить", а также все комментарии к ней. Они не просто её дополнили, но и заставили посмотреть в сторону vim.

РосNano-концепция:

В терминах nano текст, отделённый пустыми строками называется «параграф». Все команды отдаются нажатием комбинаций клавиш — функциональными кнопками или комбинацией Ctrl+буква или Alt+буква. Если в каком-либо случае комбинация с Ctrl или Alt забронирована системой, следует использовать дублирующие комбинации с Esc.

Одинарное нажатие на Esc эмулирует клавишу Alt. Двойное Esc Esc эмулирует клавишу Ctrl. То есть вместо Alt+X можно набрать Esc X, вместо Ctrl+K можно набрать поочерёдно Esc Esc K.

Alt+U (Esc U) — Undo, отмена последнего действия. Alt+E (Esc E) — Redo, повтор отменённого действия.

F1 (Ctlr+G) — Показать справку F2 — Выход с сохранением файла Ctrl+X — Вернуться к редактированию из справки, и прочих диалоговых окон, выход из программы.

Копирование и вставка текста:

Alt-A (Ctrl-6) — установить\снять маркер начала выделения текста (либо просто стрелки с shift) Alt+6 (Esc 6) — копировать выделение текст в буфер обмена. Комбинация alt+6 у меня занята и не заработала. Ctrl+K (или F9) — вырезать выделенный фрагмент в буфер обмена, при отсутствии выделения удалить строку. Ctrl+U (или F10) — вставить фрагмент из буфера обмена Ctrl+Shift+V — вставить из GUI буфера обмена Ins — Вставка текста из другого файла, либо вывода команды.

Ctrl+W — Поиск Alt+W — Повторный поиск Ctrl+\ — Замена. Помнит последний поиск как изменяемое по умолчанию.

Alt+\ (Ctrl+Home) — В начало файла Alt+/ (Ctrl+End) — В конец файла Ctrl+Y (PgUp)— На страницу вверх Ctrl+V (PgDn) — На страницу вниз Alt+S — Переключение между плавной прокруткой страниц и фиксированной

Дублирование курсорных клавиш, то чем так гордится vim, только врастапырку: Ctrl+B — Влево на символ Ctrl+F — Вправо на символ Ctrl+N — Вниз на символ Ctrl+P — Вверх на символ

Ctrl+Space — На слово вперёд, можно просто Ctrl+курсор. (курсор встаёт в начале слова) Alt+Space (ESC Space) — На слово назад. (у меня эта комбинация вызывает строку быстрого запуска KRunner в KDE, поэтому использую ESC Space)

Alt+- — Прокрутка вверх не меняя позиции курсора Alt+= — Прокрутка вниз не меняя позиции курсора Alt+7 (Esc 7) — К предыдущему блоку текста, либо просто Ctrl+курсор Alt+8 (Esc 8) — К следующему блоку текста. Alt+0 (Esc 0) — К следующему параграфу (до первой пустой строки вниз). Alt+9 (Esc 9) — К предыдущему параграфу (до первой пустой строки вверх).

Alt+G — Переход на строку с указанным номером.

Alt+< — Переход к предыдущему открытому файлу (Если nano запущен с несколькими файлами)

Alt+> — Переход к следующему открытому файлу.

Ещё пишут про команду Alt+F, которая не то включает такую возможность, не то позволяет зачем-то иметь отдельные буфера обмена на каждый файл, но как она работает я не понял.

Ctrl+D (Del) — стереть символ под курсором Ctrl+H (BSp) — Стереть символ слева от курсора Ctrl+M (Enter) — Вставка пустой строки. Ctrl+I (Tab) — Вставка табуляции. Alt+Shift+ — Увеличить отступ параграфа, вставкой табуляции. Если уже был отступ пробелами, добавит к нему табуляцию и подсветит красным. Ctrl+] — Автодополнение слов, например команд в программе. Программисты оценят! Alt+3 (Esc 3) — За(рас)комментировать символом # текущую строку, выделенный параграф. Alt+J (F4) — Justify, выровнять текущий абзац

Esc Esc 220 ­— Ввод символов по десятичному коду. Например 220 — ввод Ü с умляутом. Alt+V — Ввод ASCII последовательности комбинации или клавиши. Alt+T — Trunkate. Стирает всё от курсора и до конца файла. Ctrl+C (F11) — Разово выводит информацию по текущей строке, колонке, номеру символа. Alt+D — Подсчитать количество слов, строк, символов в файле Ctrl+L — Обновить экран

Alt+Shift+4 — Мягкий перенос длинных строк разрешить/запретитьAlt+K — переключает действие по Ctrl+K между удалением по умолчанию всей строки и удалением от курсора до конца строки. Alt+Q — Переключиться с табуляций на ввод пробелов. Alt+L — Включить и выключить жёсткий перенос строк.Alt+C — Переключает постоянный вывод инфо по строке по Ctrl+C Alt+X — Показать\скрыть строку подсказки внизу экрана. Alt+Shift+3 — Показывать номера строк. Alt+P — Показывать пробелы символом "·" Alt+Y — Показывать подсветку синтаксиса. Alt+H (Esc H) — Включить умную клавишу Home (переводит курсор не в 1ю колонку, а на 1й символ строки) Alt+I (Esc I) — Включить автоотступы (перевод строки на новую с таким же отступом, как у предыдущей) Alt+B — Переключиться на создание резервных копий и обратно Alt+M — Включить «поддержку мыши». лучше не использовать, ерунда!

Говорят, что nano по умолчанию не поддерживал отмену действий (undo). У меня в Manjaro всё поддерживает, но на всякий случай решение — запускать nano с ключом -u: nano -u filename. Для включение подсветки синтаксиса в nano следует раскомментировать директивы include в файле /etc/nanorc.

Другие использованные ссылки:

Vim, немного крипоты

«у vi есть два режима: бибикать и всё портить» © Холиварненько Изначально Vim разрабатывался для аппаратного терминала ADM-3A, он слева на фото.

Продвинутый текстовый редактор — кошмар для случайного пользователя. Если его удается в конце концов закрыть, то вздыхаешь с облегчением и твердой уверенностью, что больше не будешь запускать эту программу ниразу в жизни. Пожалуй, Vim нельзя просто запустить и начать работать — требуется определенная подготовка. Зато стоит раз испытать его в деле и поражаешься тому, как можно было без него обходиться. © https://ru.wikibooks.org/wiki/Vim * * * Ну, смотрите, человек запускает vim, курсором доползает до нужного места, стирает лишнее, начинает печатать, в какой-то момент доходит до буквы 'i'/'c' и т.д., после чего остаток введённого появляется на экране не там, где человек хотел. Он нажимает esc, q, у него начинается какая-то фигня, он нажимает несколько раз esc, esc, потом пишет :q, потом нажимает три раза Esc пишет :Q!, потом нажимает ещё пару раз Esc, пишет :q!, потом снова vim и уже редактировать. (q) Пример ада с vim

* * * У меня кстати была обратная ситуация, когда я подошел к сотруднику подсказать что подправить в конфиге и в фаровском редакторе напечатал ему полстрочки букв j, прежде чем понял, что что-то не так, курсор двигается вправо, а не вниз и ещё и мусор какой-то появляется. (q) Байка о силе привычки

* * * Судя по тому, что я сейчас прочел, пользователи… нет, скорее «активисты» vi — не просто придурки, а отборные мазохисты. Не знаю, может кто-то в этой статье видит преимущества vi, я же вижу убийственный гемморой, переусложняющий простой ввод кода до уровня секвенирования ДНК. (й) +15 голосов в хаброкомментах

* * * Cейчас средства разделились на редакторы (набрать текст) и IDE (работать с проектом). Вим получается посередине, как утка. Но это уже не нужно. Если я хочу набрать текст — мне не нужен редактор который осваивать дольше чем IDE, мне нужен ee/nano. А если мне нужна работа с проектом — мне нужна нормальная IDE с большими возможностями и низким порогом вхождения, а не школа белого нидзя по освоению навороченного текстового редактора. (q) убийственный хаброкоммент

Выше показана старая клавиатура IBM PC AT original keyboard. Приглядитесь повнимательнее. Vim разрабатывался ещё в те времена, когда клавиша Ctrl находилась на месте CapsLock, где удобнее нажимать мизинцем. Как часто вы пользуетесь этой клавишей? А клавишей Ctrl? Но фирма IBM решила иначе, и всё сложилось как сложилось.

Тем не менее, мы попытаемся!

VIM — это слепой десятипальцевый метод редактирования текста. (й) youtube

Следует запомнить, что Vim имеет два режима: командный и модальный. В первом вводятся команды, например просто введя двоеточие : можно стрелками вверх-вниз перебирать историю ранее введённых команд. Введя начало команды, по Ctrl+d можно увидеть список похожих команд, а по Tab дополнить сокращение до полного названия команды. Все команды, начинающиеся с : должны завершаться нажатием ENTER, остальные исполняются моментально. Во втором режиме правится текст. Вход в модальный режим по a, i. После правки фрагмента текста, всегда нажимайте Esc, чтобы вернуться в командный режим, и у вас никогда не возникнет вопроса, в каком режиме сейчас редактор.

Поясняющая цитата о вводе команд: Команды в vim задуманы комбинируемыми: 'd' значит «удалить», 'e' значит «переместить курсор в конец слова», поэтому 'de' завершенная команда, означающая «удалить все от текущего положения курсора до следующего конца слова» Команды регистрозависимы!

Например войдя в модальный режим (редактирование текста) по i, введя «True», и выйдя в командный по Esc, вы можете перемещаться по файлу со всей мощью команд навигации и нажимать '.' везде, где нужно повторить команду, то есть вставить слово «True» в текущую позицию курсора в данном случае. Учитывается весь введённый фрагмент с перемещениями курсора и стиранием символов. Так можно по точке автоматизировать ввод форм в одинаковые блоки.

Команды Vim:

Возможно, это только для меня стало внезапным открытием, но вся справка на русском языке по клавишам vim доступна внутри терминала в виде уроков по команде (в том числе по ней я делал этот конспект):

hjkl — дублирование курсорных клавиш влево, вниз, вверх, вправо. ^ или 0 (нуль) — В начало строки $ — В конец строки w — Переход к началу следующего слова.e — Переход в конец текущего, затем следующего, слова.E (Shift+e) —Как e только без учета символов препинания.% — Перемещение в строке между скобками: ()[] Ввод числа перед оператором перемещения приведёт к его повторению заданное количество раз. 2w — Перемещение курсора вперёд к началу второго слова. 3e — Перемещение курсора вперёд к концу третьего слова.

Комбинирование команд упрощает навигацию: j$ —Вниз, в конец следующей строки.

Shift+g — Перейти в конец файла. Если перед этим ввести номер строки, то переход к ней. 507 Shift+g — Например вот так будет переход не в конец, а к строке номер 507 :45 Enter или 45gg — Переход к строке номер 45 Вместо k может быть любая маленькая буква для локальных меток, и большая для глобальных, к которым можно обращаться из другого файла.mk — Пометить текущую позицию как k ‘k — Перейти к раннее созданной метке k '. — (backquote, dot) перейти по автоматической метке в начало последней отредактированной строки.

H, M, L — перемещение курсора на верхнюю, среднюю и нижнюю линию экрана. zt, zz, zb — перемещение курсора вместе с текстом на верхнюю, среднюю и нижнюю линию экрана. * — Переместить курсор на следующее слово, такое же, как под курсором # — Переместить курсор на ПРЕДЫДУЩЕЕ слово, такое же, как под курсором

Оконная навигация — окна и вкладки:

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

:bn — открыть в текущем окне следующий буфер :bp — предыдущий :ls — просмотреть список открытых буферов :b имя_буфера — переключиться на буфер открытого файла, работает автодополнение по Tab. :bd имя_буфера — удалить буфер по имени:bd — удалить текущий буфер, либо выйти из vim, если этот буфер единственное окно.

Разбивка окна на несколько подокон и навигация между ними: Ctrl+w v — ( :vsplit ) разделить окно по вертикали Ctrl+w s — ( :split ) разделить окно по горизонтали Ctrl+w f — разделить окно и в новом открыть файл, имя и путь к которому находится под курсором Ctrl+w q или c — закрыть текущее окно Ctrl+w n — создать новое окно ( :new filename )

Сtrl+w o — развернуть текущее окно на весь экран, закрыв прочие подокна. Сtrl+w _ — (нижнее подчеркивание) развернуть окно до максимального размера Сtrl+w = — Сделать все окна текущего таба одинакового размера Ctrl+w+ или Ctrl+w- — увеличение или уменьшение размера текущего окна Esc 5 Ctrl+w+ или Сtrl+w 5+ — Увеличить размер текущего окна сразу на 5 строк/столбцов.Esc 5 Ctrl+w - или Сtrl+w 5- — Уменьшить размер текущего окна сразу на 5 строк/столбцов.

Ctrl+wCtrl+w — переход к следующему подокну Ctrl+w HJKL — переместить окно влево/вправо/вверх/вниз, плюс перегруппировка компановки окон Ctrl+w hjkl либо курсор — переместить курсор на окно влево/вправо/вверх/вниз

Параметры запуска vim: vim -o filename1 filename2 — запустить vim с двумя файлами, открытыми в горизонтальных окнах vim -O filename1 filename2 — запустить vim с двумя файлами, открытыми в вертикальных окнах vim -d filename1 filename2 — запустить vim с двумя файлами и сравнить их, подсветив отличия.

Помимо окон есть ещё вариант разложить открытые файлы по отдельным вкладкам (Tabs) :tab ball — Поместить все открытые файлы во вкладки :tabnew — Создать новую вкладку, чтобы не бить текущее окно на большое количество маленьких подокон gt — (go to tab) Перейти на следующую вкладку gT — (go to tab) Перейти на предыдущую вкладку :tabn — Следующая вкладка :tabp — Предыдущая вкладка Ctrl+PageUp и Ctrl+PageDown — стандартные горячие клавиши для перемещения между табами, но они могут быть заняты эмулятором терминала.

:set mouse=a — Если включить, то будет можно мышью выбирать вкладки, окна, и изменять их размер

Вход в модальный режим редактирования текста:

i — Insert, переход в режим вставки текста левее курсора a — Append, переход в режим вставки текста правее курсора A — App_end, переход в режим вставки текста в конец строки R — Replace, переход в режим замены текста. o — создать пустую строку под текущей и перейти к её редактированию. O — создать пустую строку НАД текущей и перейти к её редактированию.

u — UNDO, отмена последнего действия U — UNDO, отмена изменений только в последней строке Ctrl+r — Redo, повторить отменённое действие текущего модального сеанса редактирования.

Многие команды, изменяющие текст, состоят из оператора и объекта. Например ниже оператор удаления d комбинируется с объектом направления удаления: dw — (delete word) удалить от курсора до конца слова, включая последующий пробел. de — удалить от курсора до конца слова, НЕ включая последующий пробел. d$ — удалить от курсора до конца строки. d^ — удалить от курсора до начала строки. ce — удаляет слово и переводит в режим вставки. c$ — удалить от курсора до конца строки и перейти в режим вставки (редактирования текста).

Ввод числа перед оператором приведёт к его повторению заданное количество раз. d2w — Удаление двух слов подряд x — Del, стереть символ под курсором. dd — Удаление строки D (Shift+d)— Вырезать в буфер содержимое от курсора до конца строки. C (Shift+c)— Вырезать в буфер содержимое от курсора до конца строки и перейти в режим правки.

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

diw — (delete inner word) удалить слово под курсором ciw — (change inner word) заменить слово под курсором (удалить и перейти в режим редактирования) cib — (change in brackets) Удалить выражение внутри скобок () и перейти к редактированию c% — Вырезание выражения в парных скобках от курсора до следующих скобок. ( % это Shift+5 ) dit — (delete in tag) Удалить текст внутри html или xml тэга под курсором cit — (change in tag) Заменить текст внутри html или xml тэга под курсором, (удал. и пер. в реж. ред.) ce WORD Esc — вводить на первом символе какого-либо слова, чтобы заменить его на WORD. После по точке так можно будет сделать с любым.

d$ или D (Shift+d) — удаляет строку после курсора

db — удалить слово ДО курсора di( — удаляет то что в скобочках. di" — то, что в кавычках ya( — копировать содержимое внутри скобок () вместе с самими скобками

s — Удалить символ под курсором и перейти в режим редактирования S — Удалить все до конца строки и перейти в режим редактирования d5d — удалить 5 строк от курсора вниз

Ctrl+a — Увеличить на единицу ближайшее справа число. Ctrl+x — Уменьшить на единицу ближайшее справа число. Vu — Перевести строку в нижний регистр VU — Перевести строку в верхний регистр g

Ctrl+p или Ctrl+n — автодополнение команд языков программирования Ctrl+x Ctrl+f — файлы, они ищутся в текущем каталоге Ctrl+x Ctrl+d — дефайны Ctrl+x Ctrl+i — слова из текущего и открытых файлов Ctrl+x Ctrl+k — из словаря Ctrl+x Ctrl+] — все тэги Ctrl+x Ctrl+o — omni completion, работает замечательно с C, Python и т.д.

Поиск: При достижении конца файла поиск будет продолжен с начала.

f — Поиск следующего за f символа справа в текущей строке ; — Повторить поиск по f, следующее найденное совпадение в текущей строке / — Поиск текста по образцу вперёд ? — Поиск текста по образцу назад n — Следующее найденное совпадение N — Предыдущее найденное совпадение Ctrl+o — вернуться туда, откуда начали поиск Ctrl+i — вернуться обратно к найденному после ctrl+o % — Поиск парных скобок: (), [] или

:s/было/стало — Поиск и замена только первого найденного совпадения в текущей строке :s/было/стало/g — Поиск и замена всех найденных в текущей строке совпадений :g/string/d Удалить все строки, содержащие «string” :v/string/d Удалить все строки, не содержащие „string”:30,90s/было/стало/gc — поиск и замена с 30 по 90 строку по всей их длине, с подтверждением :%s/было/стало/gc — поиск и замена во всём файле с подтверждением.

То есть :s/ — текущая строка, :30,90s/ — диапазон, :%s/ — весь файл. g — во всей строке, c — с подтверждением, иначе только первое совпадение в строке, и без подтверждений. Можно не писать каждый раз команду заново, достаточно ввести : двоеточие и стрелками курсора вверх-вниз перебирать ранее введённые варианты. Выделение:

v — (visual) визуальный выбор, выделение фрагмента текста для операции над ним. Ctrl+v — выделение прямоугольных блоков. gv — Повторное выделение последнего выделенного фрагмента.d — удаление выделенного фрагмента c — Вырезать выделенный фрагмент в буфер обмена y — (yank) копирование выделенного фрагмента yw — копирование одного слова от позиции курсора до конца слова вместе с пробелом. p — (paste) вставка скопированного фрагмента vip — Выделить целиком текущий параграф (разделённый пустыми строками текст) vgU — выделить в визуальном режиме фрагмент и перевести его в верхний регистр. vg

— Выделить в визуальном режиме фрагмент и ИНВЕРТИРОВАТЬ его регистр.

Комбинации ниже работают для выделенного фрагмента. Для одиночной строки нажать дважды. Изменить длину отступа с 8 на 4 можно через конфиг, либо введя в командном режиме :set tabstop=4 Почему-то не работают для комментариев # < (Shift+,) — Уменьшить отступ выделенного. > (Shift+.) — Увеличить отступ выделенного.

:w — сохранить изменения в текущий файл :w file.txt — сохранить в файл file.txt :w! file.txt — сохранить и перезаписать file.txt, если существует. :w

/file.txt — сохранить в файл file.txt в домашней папке :e — Переоткрыть текущий файл. :e file.txt — открыть файл file.txt. :ene — Создать новый файл. :ene file.txt — Создать файл file.txt.

Для сохранения фрагмента, выделить его по клавише v и сохранить с указанием имени как выше. Командная строка будет иметь вид подобный :'<,'>w file.txt :r file.txt — вставить содержимое файла file.txt в позицию ниже курсора :r!ls — вставить вывод внешней команды ls. :! ls — выполнить любую внешнюю команду, в данном случае ls

По уму настройки следует записать в

/.vimrc (там они пишутся без двоеточия!) тогда не придется их вводить заново.

:set ic — IgnoreCase, игнорирование регистра при поиске или замене :set noic — вернуть регистрозависимый поиск или замену :set hls — Hlsearch, подсвечивать найденное :set nohls — НЕ подсвечивать найденное :set is — Incsearch, инкрементный поиск — отображение частичных совпадений при поиске :set nois — Отключить инкрементальный поиск, искать по enter. :set nu — пронумеровать строки :set mouse=a — Использовать мышь для выбора окна, позиции курсора. :syntax on — подсветка кода

Ctrl+g — Показывает строку статуса с именем открытого файла, номером текущей строки. Esc или Ctrl+C или Ctrl+[ — выход в командный режим.:e Enter — Выход. Именно с ДВОЕТОЧИЕМ! Я сам долго не мог выйти. Решил, что ':' это часть предложения, а не часть комбинации, которую нужно набрать и долго жал 'q'. :e! Enter — Выход без сохранения :x и :wq — выход с сохранением, причём первая сохраняет только в том случае, если были изменения. :w! или :wq! принудительное сохранение в readonly файле, 2й вариант с выходом. ZQ ­— Моментальный выход без сохранения и подтверждения.

Настройки по умолчанию можно записать в конфигурационный файл

/.vimrc Например без этого я не начну писать в vim ни одной программы на Python: set tabstop=4 # Длина табуляции set expandtab # Замена табуляции пробелами

:%s#>[^<]\+>##g — Очистить текст от HTML-тегов :%s/^\(.*\)\n\1$/\1/ — Удалить строки, повторяющиеся дважды :%s/\s\+$// — Удалить пробелы в конце строк, и строки из одних пробелов (link) :1,$ g/^$/ d — Удалить пустые строки :g/^$/d — Удалить пустые строки

Приложение: Решение проблем:

/.vimrc с содержимым в одну строку: set langmap=ФИСВУАПРШОЛДЬТЩЗЙКЫЕГМЦЧНЯЖ; ABCDEFGHIJKLMNOPQRSTUVWXYZ:, фисвуапршолдьтщзйкыегмцчня;abcdefghijklmnopqrstuvwxyz

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

Вот эта пара строк сильно экономит время на копание в .vimrc “ ## Edit .vimrc ## map ,v :vsp $MYVIMRC<CR> map ,V :source $MYVIMRC<CR>

Первая маппит на ,v открытие .vimrc в вертикальном окошке, а вторая просит VIM пересчитать файл.

О разнице, какой клавишей выходить в командный режим: Ctlr-C просто переходит в normal mode. Если на выход из insert mode какими нибудь плагинами навешаны какие-нибудь хуки, то при нажатии Ctrl-C vim их проигнорирует, а при нажатии Esc или Ctrl-[ запустит. (й)

Q (shift+q) — не режим ввода команд. Это переход в устаревший режим Ex, поддерживаемый только для совместимости. Пользоваться им не стоит. Для возврата в обычный режим наберите „visual“.

📎📎📎📎📎📎📎📎📎📎