Os arquivos de inicialização do Vim são processados nesta ordem (simplificado; consulte :help initialization ):
-
$VIM/vimrc -
$HOME/.vimrc -
$VIM/gvimrc -
$HOME/.gvimrc
O problema é que o MacVim mapeia M-Right e M-Left (e várias outras combinações de teclas) em seu $VIM/gvimrc (ou seja, …/MacVim.app/Contents/Resources/vim/gvimrc ); isso substituirá os mapeamentos feitos nessas combinações de teclas em $HOME/.vimrc .
Se você examinar este arquivo de inicialização (por exemplo, :view $VIM/gvimrc ), verá que esses mapeamentos específicos podem ser inibidos configurando a variável especial macvim_skip_cmd_opt_movement (para qualquer valor) em $HOME/.vimrc .
let macvim_skip_cmd_opt_movement = 1
Isso inibirá dez mapeamentos MacVim padrão (Comando e Opção para cada um dos lados esquerdo, direito, para cima, para baixo e BS).
Como alternativa, você poderia simplesmente colocar seus mapeamentos em $HOME/.gvimrc (onde eles substituirão os mapeamentos padrão do MacVim, mesmo que você não os tenha inibido com macvim_skip_cmd_opt_movement ).