Нулевые сопоставления клавиш в консоли vim на OS X

Нулевые сопоставления клавиш в консоли vim на OS X

Запуск zsh в приложении Terminal.app для Mac OS X.

Следующие 2 сочетания клавишВыполнять работув MacVim, нонетконсольный vim (7.4)

inoremap <c-space> <c-x><c-o>
inoremap <c-@> <c-space>

" (1) Swapping  windows
nmap <silent> <c-s> :wincmd r<CR>

" (2) Close quickfix window
nmap <silent> <c-space> :ccl<CR>

решение1

В терминале control@и controlspaceпочти всегда совпадают: модификатор управления сообщает терминалу о необходимости отсечь биты выше младшего разряда 5.

Код @для0x40, и что для spaceесть0x20. Младшие биты будут 0x1f — и эти биты равны нулю в @и space. Таким образом, оба выдают ASCII NUL (0).

Связанный контент