MacVim: перемалюйте комбінації командних клавіш на зразок <df>


17

Я можу перепризначити невикористовувані комбінації як <d-1>(Cmd + 1) в MacVim, але є багато комбінацій , як <d-f>, <d-o>або <d-b>які вже пов'язані з пунктами меню MacVim. Якщо я спробую перевстановити ті, які знаходяться у моєму .vimrc, нічого не зміниться.

Чи я можу перезавантажити ці комбінації всередині MacVim або зупинити MacVim від призначення їх до пунктів меню, щоб вони були належним чином передані до ядра Vim?

Відповіді:


21

Знайдено це: Command-T рекомендує використовувати наступний фрагмент:

if has("gui_macvim")
  macmenu &File.New\ Tab key=<nop>
  map <D-t> :CommandT<CR>
endif

Таким чином, ви в основному скасовуєте відповідний пункт меню, і тоді ви можете вільно відобразити ярлик, який ви намагалися зробити карту. (Я не впевнений, що робить амперсанд; він працює з ним і без нього.)

Це потрібно поставити в ~ / .gvimrc, а не ~ / .vimrc! (Мабуть, ~ / .vimrc читається занадто рано, тож (не) відображення буде замінено, якщо ви їх помістите.)


3
Я спробував це на поточній версії MacVim (7.3), і це не спрацювало. Я в кінцевому підсумку перейшов до $ VIMRUNTIME / menu.vim, шукав <D-і ставив && 0в кінці оточуючої операції if. Потім я скопіював вміст у свій .gvimrc і замінив <D-[^>]*>на <nop>.
dash-tom-bang

1
@ dash-torn-bang Гм, мій код вище, здається, все ще працює нормально з 7,3 знімком 62 на Леві. Мені не потрібно було редагувати меню MacVim.vim. Я не впевнений, чому це працює для мене, але не для вас ...
Джо Лісс

1
Мені вдалося змусити його працювати без амперсанда:macmenu File.Print key=<nop>
romaninsh

Спасибі! Працювали для мене. Хоча з незначною модифікацією:macmenu File.Close key=<nop>
Halil Özgür
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.