Я уже несколько лет использую vim в качестве вторичного редактора, но по разным причинам я все больше и больше использую его, даже когда доступен мой основной редактор. Одна проблема, которая всегда меня беспокоила vim, и которая мешала мне больше ее использовать, - это способ, которым она обрабатывает размещение курсора. Курсор может быть только на символе, а не между символами, как это было бы в случае с любым редактором, созданным с 1984 года.
Только для одного примера того, почему это проблема, если я хочу удалить последнее слово в строке, я нажимаю, $чтобы перейти к концу строки, а затем dbудалить назад. Это оставляет символ для удаления, потому $что на самом деле он не дошел до конца строки, он перешел к последнему символу строки и dbудалил только то, что было до текущего символа. Проблема не в том, что мне нужно набирать дополнительный символ, а в том, чтобы делать то, что должно быть простым, требует дополнительной мысли, которая отвлекает мое внимание от того, что я на самом деле пытаюсь выполнить.
Мне кажется, что более современная идея размещения курсора во всех отношениях лучше, и я бы хотел перейти vimна этот подход. Я уверен, что некоторые vimфанаты не согласятся с моим мнением по этому поводу, но поскольку одним из стандартных аргументов в пользу vimпревосходства является его бесконечная конфигурируемость:
- это может доставить в этом случае?
- Можно
vimли разместить курсор между символами?
$bD
Insertрежим или отсутствует точкаnormalрежима. Я бы сделал$dawили$bdwудалить последнее слово в строке в обычном режиме. ВInsertрежиме я бы сделалA<Ctrl-w>.