У режимі вставки курсор знаходиться між символами або перед першим або після останнього символу. У звичайному режимі курсор знаходиться над символом (для цієї мети нові рядки не є символами). Це дещо незвично: більшість редакторів завжди ставлять курсор між символами, а більшість команд діють на персонаж після (не, строго кажучи, під ) курсору. Це, можливо, частково пов'язано з тим, що перед графічними інтерфейсами текстові термінали завжди показували курсор на символі (підкреслення або блок, можливо, блимає). Ця абстракція не спрацьовує в режимі вставки, оскільки вимагає ще однієї позиції (пости проти заборів).
Перемикання між режимами має переміщувати курсор напівсимволом, так би мовити. У i
команді переміщається вліво, щоб помістити курсор перед символом вона була закінчена. a
Команда переміщається вправо. Виходячи з режиму вставки (натискаючи Esc), якщо можливо, пересуває курсор ліворуч (якщо він знаходиться на початку рядка, замість цього він переміщується праворуч).
Я вважаю, що Escповедінка має сенс. Часто ви набираєте текст у кінці рядка, і ви Escможете перейти лише вліво. Тож загальна поведінка - це найпоширеніша поведінка.
Подумайте про символ під курсором як про останній цікавий символ, а про команду вставки як a
. Ви можете повторити, a Escне переміщуючи курсор, за винятком того, що ви зіткнетесь на одну позицію праворуч, якщо ви почнете на початку не порожнього рядка.