MacVim: Есть идеи, почему я не могу переопределить кнопку Command?

Я пытаюсь использовать командную кнопку в MacVim вместо Ctrl и других кнопок.

Я попробовал что-то вроде :imap <D-space> <Esc>, чтобы переопределить обычную функциональность Command-space в MacVim, но он все равно выполняет прожектор.

Любые идеи?


person Jordan    schedule 03.09.2011    source источник
comment
Пожалуйста, взгляните на Как остановить OS X с автоматического переключения метода ввода (раскладки клавиатуры)? для отключения ярлыка Spotlight.   -  person Kazuki Sakamoto    schedule 04.09.2011


Ответы (2)


В этих случаях обычно оконный менеджер перехватывает нажатие клавиши до того, как приложение его увидит. Может быть возможность отключить определенные глобальные привязки клавиш, когда указанное приложение активно, но я не смог найти его в 10.5 — оконные менеджеры Linux имеют эту функцию, как и окна, поэтому я ожидаю, что она где-то прячется в ОС WM..

person Michael Anderson    schedule 03.09.2011
comment
В качестве дополнительного примечания к этому. Я могу переназначить <D-x> на что-то в режиме вставки без проблем. Так что это не общая проблема с командной кнопкой. - person Michael Anderson; 03.09.2011
comment
Спасибо. Да, я смог сопоставить некоторые из них (я думаю, ‹D-y›, но другие нет). Я на Снежном Барсе. - person Jordan; 03.09.2011

Ярлык Spotlight имеет приоритет над вашим собственным ярлыком.

Чтобы иметь возможность использовать его в MacVim, вы должны изменить ярлык Spotlight в его настройках.

Однако клавиша Command не будет работать в Terminal.app и не будет отправляться на удаленные серверы, подключенные по SSH. Если вы используете Vim на сервере, вы не сможете его использовать, и вам придется либо создавать и изучать множество сопоставлений для конкретной машины, либо просто использовать значения по умолчанию.

Другая возможная проблема, с которой я столкнулся в начале, заключается в том, что сочетания клавиш с несколькими клавишами-модификаторами (например, <D-M-something> или <C-S-something>) не работают в MacVim.

Из-за этого и количества встроенных сочетаний клавиш с использованием этих клавиш у вас не будет много возможностей.

Когда я решил изучить Vim (с MacVim), я много раз пытался сделать его (и Vim) более «похожим на Mac» или «похожим на TextMate», но безрезультатно.

Вместо этого я предлагаю вам поступать так, как Vim. Это может показаться странным, но оно того стоит.

В вашем случае «способ Vim» будет использовать mapleader, это обычная клавиша на вашей клавиатуре, которая используется для пользовательских сопоставлений. Ключ по умолчанию — \, если вы хотите изменить его (например, на ,, это мои настройки, но YMMV), добавьте эту строку в свой ~/.vimrc:

let mapleader=","

После этого вы можете создавать сопоставления следующим образом:

inoremap <leader><Space> <ESC>
person romainl    schedule 03.09.2011