MacVim: mappare nuovamente le combinazioni di tasti dei comandi come <df>


17

Posso rimappare combinazioni inutilizzate come <d-1>(Cmd + 1) in MacVim, ma ci sono molte combinazioni simili <d-f>, <d-o>o <d-b>che sono già associate a voci di menu di MacVim. Se provo a rimappare quelli all'interno del mio .vimrc, nulla cambia.

C'è un modo per rimappare quelle combinazioni all'interno di MacVim o impedire a MacVim di assegnarle alle voci di menu in modo che vengano passate correttamente al core di Vim?

Risposte:


21

Trovato: Command-T consiglia di utilizzare il seguente frammento:

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

Quindi fondamentalmente annulla la mappatura della rispettiva voce di menu e quindi sei libero di mappare il collegamento che stavi cercando di mappare. (Non sono sicuro di cosa stia facendo la e commerciale; funziona con e senza di essa.)

Questo deve essere inserito in ~ / .gvimrc, non ~ / .vimrc! (Apparentemente ~ / .vimrc viene letto troppo presto, quindi i (un) mapping verranno bloccati se li metti lì.)


3
L'ho provato sull'attuale versione di MacVim (7.3) e non ha funzionato. Ho finito per andare in $ VIMRUNTIME / menu.vim, cercando <D-e mettendo un && 0alla fine dell'istruzione if circostante. Quindi ho copiato il contenuto sul mio .gvimrc e sostituito <D-[^>]*>con <nop>.
dash-tom-bang,

1
@ dash-torn-bang Hm, il mio codice sopra sembra ancora funzionare correttamente con 7.3 snapshot 62 su Lion. Non ho dovuto modificare il menu.vim di MacVim. Non sono sicuro del perché funzioni per me ma non per te ...
Jo Liss,

1
Sono stato in grado di farlo funzionare senza e commerciale:macmenu File.Print key=<nop>
romaninsh

Grazie! Ha funzionato per me. Anche se con una leggera modifica:macmenu File.Close key=<nop>
Halil Özgür
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.