Сценарий повторяется с завидной регулярностью. Человек ставит Git, жмет Next во всех окнах установщика (включая то, где мелким шрифтом предлагается выбрать редактор по умолчанию), через неделю делает коммит, забыв указать сообщение прямо в команде, и оказывается перед черным экраном, вдоль левого края которого сверху вниз тянется столбик тильд. Курсор мигает в пустой первой строке, ниже идут строки с решеткой в начале, а внизу висит имя какого-то служебного файла с количеством строк и байтов. Кнопок нет, меню нет, крестика в углу тоже нет, поэтому пальцы делают то, что делают в любой консоли, и набирают exit.
После этого на экране происходит нечто странное, хотя каждое действие редактора строго логично. Буква e в Vim означает переход в конец следующего слова, и курсор прыгает с пустой строки на решетку во второй строке, потому что одиночный символ пунктуации тоже считается словом. Буква x удаляет символ под курсором, и решетка исчезает. Буква i переключает редактор в режим вставки, а t наконец-то печатается как обычная буква. В итоге служебная строка «# Please enter the commit message for your changes», которую Git собирался выбросить как комментарий, превращается в «t Please enter the commit message for your changes» и становится полноценной частью будущего коммита, а внизу экрана загорается надпись INSERT.
Теперь редактор в режиме вставки, и все, что человек набирает дальше (quit, еще раз exit, :q, отчаянное help), аккуратно ложится в текст коммита. Ctrl+C в старых версиях…
Ре…