Ctrl-cи Escне гарантируется быть синонимами, и часто отличаются. Например, в режиме « Вставка » Escбудут запускаться сокращения и переходить в обычный режим, тогда как Ctrl-cне будут запускаться сокращения или InsertLeave
автокоманда и переходить прямо в обычный режим. Другой пример в старом vi
режиме командной строки, Escбудет фактически выполнять команду, как если бы вы нажали Enter. Vim намеренно изменил это, потому что такое поведение было сочтено неинтуитивным и удивительным, но вы все равно можете включить его, добавив x
в 'cpoptions'
.
Что касается блочных визуальных операторов, blockwise-operators
тег справки имеет следующую документацию:
Visual-block Insert *v_b_I*
With a blockwise selection, I{string}<ESC> will insert {string} at the start
of block on every line of the block, provided that the line extends into the
block. Thus lines that are short will remain unmodified. TABs are split to
retain visual columns.
Обратите внимание, что только Esc
упоминается, а не Ctrl-c
.
Так что нет Ctrl-cи Escне эквивалентны. Никогда не стыдно лишать себя заблуждения. Как только вы поняли это, вы можете решить, что делать дальше. Сразу очевидные варианты - изучить различия и использовать правильный ключ или решить, что вам не нужен функционал одного из ключей, и переназначить его для соответствия другому.
vnoremap <C-c> <Esc>
я буду помнить то, что вы сказали.