Je suis récemment passé à l'utilisation d'un Mac au travail à partir de Linux. J'ai découvert MacVim (à partir de http://code.google.com/p/macvim/) et j'ai essayé de mettre en communication sur mes keymappings précédents.Certains mappages de touches ne fonctionnent pas dans MacVim
Les applications que je l'habitude d'avoir sont les suivants:
- Ctrl-T: Nouveau onglet
- Ctrl-W: Fermer l'onglet/fenêtre
- Ctrl-1. Ctrl-0: Passer à l'onglet numéroté
- Alt-Up: New onglet (comme Ctrl-T)
- Alt-Gauche/Alt-Droite: Passez à l'onglet précédent/suivant
- Ctrl-Alt-E: Open FuzzyFinder dans le fichier mode
- Ctrl-Alt-B: Open FuzzyFinder en mode tampon
- Ctrl-Alt-W: Effacer les espaces de fin de la mémoire tampon
Maintenant, pour rendre ces mappings plus 'Mac like', j'ai décidé de changer les deux premiers à utiliser l'option (ie. Apple logo), et tous les autres pour utiliser la touche de commande au lieu de Alt (par exemple Ctrl-Alt-E devient Ctrl-Commande-E). Je lis sur http://macvim.org/OSX/index.php que cette clé peut être mappée avec D (ie). Le nouveau contenu de mon .vimrc se présente comme suit:
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>
Ainsi, après remappage les clés, certains travaillent maintenant et d'autres ne le font pas, sans logique clairement pourquoi.
Ce qui fonctionne:
- Cmd-T et Cmd-W fonctionnent avec succès pour les onglets d'ouverture et de fermeture.
- Cmd-1 ... Cmd-0 fonctionne avec succès pour la commutation des onglets.
Qu'est-ce qui ne fonctionne pas:
- Cmd-Up pour ouvrir un onglet ne fonctionne pas.
- Cmd-Left et Cmd-Right pour basculer les onglets ne fonctionne pas.
- Ctrl-Cmd-E et Ctrl-Cmd-B pour l'ouverture FuzzyFinder ne fonctionne pas.
- Ctrl-Cmd-W pour la compensation des espaces ne fonctionne pas (mais ne ni lui fermer l'onglet, comme il le ferait sans ctrl.
vous pouvez accepter votre propre réponse si vous avez trouvé la solution vous-même. ;) – sjas
Il y a une [raison] (http://learnvimscriptthehardway.stevelosh.com/chapters/05.html) de toujours utiliser '* nore (map | abbrev)' (par exemple 'nnoremap') et jamais' nmap'. – ZyX
Merci ZyX pour le conseil. Je pense que je vais lire l'intégralité de 'Apprends Vim Script the Hard Way' quand j'en aurai l'occasion! –