Відповіді:
Ctrl-Cі Escне є однаковими в vi/ vimу більшості режимів, включаючи режим вставки. Різниця полягає в Escзапуску абревіатур, а Ctrl-cні. Чи важливо це для вас, залежить від того, ви або будь-які додатки, якими ви користуєтесь, використовуєте скорочення.
Зверніть увагу , що безпечніше припустити , Escі Ctrl-Cробити НЕ означає те ж саме в vim. Ще один приклад із цього ж сайту - це при виході з режиму вставки блоку (не в vi).
Я думаю, ти маєш на увазі vim, ні vi.
Це дійсно працює vim, хоча я б не використовував його, якщо б я не був впевнений на 100%, що ніколи не торкнуся операційної системи, яка не є Linux. Причина полягає в тому, що інші ОС можуть мати власні реалізації vi, які не реалізують це, і ви можете виявити, що при запуску viна цих платформах Ctrl-C має свою традиційну поведінку: переривайте процес і залишайте свій термінал у дивному стані .
viреалізацію, яка існує і сьогодні, яка не справляється Ctrl-C? Дивіться мою відповідь про справжню різницю.
Якщо ви маєте на увазі vim, є незначна різниця. CTRL-Cне перевіряє на абревіатури та не викликає InsertLeaveподії. Таким чином, ви або плагіни визначили будь-які autocmdзаяви, від яких залежить InsertLeave, вони не запускаються.
З офіційної документації http://vimhelp.appspot.com/insert.txt.html :
<Esc> or CTRL-[ End insert or Replace mode, go back to Normal mode. Finish
abbreviation.
CTRL-C Quit insert mode, go back to Normal mode. Do not check for
abbreviations. Does not trigger the InsertLeave autocommand
event.
Ви можете задати відображення для CTRL-Cдо <esc>, то це викличе InsertLeave.
Type :quit<Enter> to exit Vimі змусило Google повернутися назад. Якщо натиснути,iви повернетесь до режиму.