Определенные сопоставления клавиш не работают в MacVim - PullRequest
7 голосов
/ 10 ноября 2011

Я недавно перешел на использование Mac на работе с ранее использующего Linux. Я узнал о MacVim (из http://code.google.com/p/macvim/) и пытался портировать поверх моих предыдущих комбинаций клавиш.

Отображения, которые я имел, были следующими:

  • Ctrl-T : новая вкладка
  • Ctrl-W : закрыть вкладку / окно
  • Ctrl-1 ... Ctrl-0 : переключиться на нумерованную вкладку
  • Alt-Up : новая вкладка (такая же как Ctrl-T )
  • Alt-Left / Alt-Right : переход на предыдущую / следующую вкладку
  • Ctrl-Alt-E : открыть FuzzyFinder в режиме файла
  • Ctrl-Alt-B : открыть FuzzyFinder в режиме буфера
  • Ctrl-Alt-W : очистить конечный пробел из буфера

Теперь, чтобы сделать эти сопоставления более «похожими на Mac», я решил переключить первые два, чтобы использовать клавишу опции (т. Е. Логотип Apple), а все остальные использовать клавишу команды вместо Alt (т. Е. Ctrl-Alt-E становится Ctrl-Command-E ). Я прочитал на http://macvim.org/OSX/index.php, что этот ключ может быть сопоставлен с D (то есть). Новое содержимое моего .vimrc выглядит следующим образом:

nmap <D-t> :tabnew<cr>
nmap <D-w> :close<cr>
nmap <D-1> 1gt
nmap <D-2> 2gt
nmap <D-3> 3gt
nmap <D-4> 4gt
nmap <D-5> 5gt
nmap <D-6> 6gt
nmap <D-7> 7gt
nmap <D-8> 8gt
nmap <D-9> 9gt
nmap <D-0> 10gt

nmap <D-Up> :tabnew<CR>
nmap <D-Right> :tabnext<CR>
nmap <D-Left> :tabprevious<CR>

"FuzzyFinder
nmap <C-D-e> :FufFileWithFullCwd<CR>
nmap <C-D-b> :FufBuffer<CR>

"Whitespace remover
nmap <C-D-w> :%s/\s\+$//<CR>

Итак, после переназначения клавиш некоторые теперь работают, а другие нет, без четкой логики относительно причин.

Что работает:

  • Cmd-T и Cmd-W успешно работают для открытия и закрытия вкладок.
  • Cmd-1 ... Cmd-0 успешно работает для переключения вкладок.

Что не работает:

  • Cmd-Up для открытия вкладки не работает.
  • Cmd-Left и Cmd-Right для переключения вкладок не работает.
  • Ctrl-Cmd-E и Ctrl-Cmd-B для открытия FuzzyFinder не работают.
  • Ctrl-Cmd-W для очистки пробелов не работает (но не закрывает вкладку, как это было бы без ctrl .

Ответы [ 2 ]

7 голосов
/ 10 ноября 2011

Исследуйте причину, выполнив

:verbose map <D-Up>

Дополнительно попробуйте выборочно включить другие плагины, чтобы увидеть, очищаются ли сопоставления каким-либо образом

5 голосов
/ 11 ноября 2011

Таким образом, оказывается, что в Macvim есть ошибка (http://code.google.com/p/macvim/issues/detail?id=317)), которая означает, что невозможно отобразить клавишу ctrl. Вместо этого я сопоставил ключ-лидер (он же обратный слеш), и теперь все это работает.

...