В чем разница между <C-C> и <C - [> в vim? - PullRequest
13 голосов
/ 17 сентября 2008

Один из лучших советов по использованию vim, который я узнал на данный момент, состоит в том, что можно нажать Ctrl + C или Ctrl + [ вместо клавиши Esc . Однако я использую клавиатуру дворака, поэтому Ctrl + [ также немного недосягаем для меня, поэтому я в основном использую Ctrl + C . Теперь я где-то читал, что эти две комбинации клавиш на самом деле не имеют одинакового поведения и что лучше использовать Ctrl + [. До сих пор я не сталкивался с какими-либо проблемами, поэтому хотел бы знать, в чем именно разница между ними?

Ответы [ 3 ]

13 голосов
/ 17 сентября 2008

Согласно документации Vim, Ctrl + C не проверяет сокращения и не вызывает событие автокоманды InsertLeave, пока Ctrl + [ делает.

Одним из вариантов является использование следующего для переназначения Ctrl + C

inoremap <C-c> <Esc><Esc>
3 голосов
/ 04 июля 2012

Очень поздний ответ, но у меня был тот же вопрос и я нашел один практический пример, который помогает объяснить разницу, так почему бы и нет.

Если вы выберете визуальный блок, а затем измените его с помощью c или добавите что-то к концу с помощью A, если вы затем выйдите с помощью <Esc>, то же самое изменение произойдет во всех строках визуальный блок (который действительно полезен! См. :help v_b_A); если вы выходите с <C-c>, этого не происходит, только одна строка получает изменение. Возможно, есть и другие похожие вещи, которые я не осознавал, что мне не хватало <C-c> ...

1 голос
/ 17 сентября 2008

Как выясняется, <C-[> в точности совпадает с Esc, это один и тот же символ. Так что нет необходимости задумываться о разнице там. :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...