Это принципиальное ограничение работы большинства терминалов Unix. Клавиши управления отображаются на ограниченный набор символов, поэтому Ctrl- @, Ctrl-Space и Ctrl-`все отображаются на одно и то же и работают одинаково. Это происходит в эмуляторах терминала и VT, работающих на реальных системах Linux.
Возможно, что другие эмуляторы терминала имеют опцию для этого, но терминал Windows пытается эмулировать тип терминала xterm-256color
, которыйреализует поведение, которое вы заметили. Даже если другие эмуляторы терминала поддерживают его, это не означает, что программы, работающие в них, поддерживают;они могут получить такую последовательность и не знать, что с ней делать, особенно если для TERM
задан тип терминала, который не поддерживает это различие.
Согласно средству отслеживания проблем Windows Terminal , они знают об этом, и есть вероятность, что они могут передать эти ключи в будущем, используя некоторые специфичные для xterm последовательности, но в настоящее время это не работает. Я не уверен, что даже если бы они реализовали его, он работал бы так, как вы ожидаете в Vim, хотя это возможно.
Вы можете либо переназначить Ctrl- @, если вы не используете существующую функциональностьили просто используйте другую клавишу.