MacVim, le port macOS de Vim, tire parti de plusieurs API système modernes pour adapter l’éditeur au matériel Apple. Cet article montre comment configurer la Touch Bar et comment appeler les outils d’écriture intelligents d’Apple Intelligence depuis l’éditeur.
Installation et premier lancement
La méthode la plus rapide consiste à utiliser Homebrew :
brew install --cask macvim
Pour compiler depuis les sources et disposer des dernières corrections :
git clone https://github.com/macvim-dev/macvim.git
cd macvim/src
make
sudo make install
Au premier démarrage, MacVim détecte la disposition du clavier et propose un profil de raccourcis adapté.
Contrôler la Touch Bar
MacVim expose la Touch Bar via le système de menus Vim. La racine TouchBar permet d’ajouter des boutons, tandis que la variable globale g:macvim_no_touchbar_default désactive les commandes par défaut.
" Désactiver les boutons natifs de la Touch Bar
let g:macvim_no_touchbar_default = 1
" Bouton plein écran avec icône système
an icon=NSFullScreenEnterTemplate 1.010 TouchBar.FullScreenToggle
\ :set invfullscreen<cr>
" Bouton nouvel onglet
an icon=NSAddTemplate 1.020 TouchBar.NewTab :tabnew<cr>
" Recherche rapide
an icon=NSSearchTemplate 1.030 TouchBar.Find :promptfind<cr></cr></cr></cr>
La première valeur numérique correspond à la position du bouton dans la barre. Les icônes doivent correspondre à des template images fournies par AppKit.
Associer la Touch Bar à des modes d’édition
Pour afficher des boutons différents selon le mode actif, on peut définir un groupe de menus et le rafraîchir via des autocommandes.
function! s:update_touchbar() abort
aunmenu TouchBar.Mode
if mode() ==# 'i'
an icon=NSStopProgressTemplate 1.040 TouchBar.Mode.ExitInsert <esc>
else
an icon=NSEnterFullScreenTemplate 1.040 TouchBar.Mode.InsertMode :startinsert<cr>
endif
endfunction
augroup TouchBarByMode
autocmd!
autocmd InsertEnter,InsertLeave * call s:update_touchbar()
augroup END</cr></esc>
Intégrer Apple Intelligence via Raccourcis
MacVim ne fournit pas d’option intégrée set aiw. L’accès aux outils d’écriture d’Apple Intelligence passe plutôt par l’application Raccourcis et les commandes pbcopy/pbpaste. La fonction suivante copie la sélection dans le presse-papiers, invoque un raccourci nommé PolishText, puis replace le résultat.
function! s:run_writing_tool() range
silent! normal! gv"+y
call system('pbpaste | shortcuts run "PolishText" | pbcopy')
redraw!
sleep 300m
normal! gv"+p
endfunction
vnoremap <silent> <d-s-i> :call s:run_writing_tool()<cr></cr></d-s-i></silent>
Le raccourci clavier ⇧I lance alors le traitement sur le texte sélectionné.
Optimisations complémentaires
Pour unifier MacVim avec macOS, quelques réglages utiles dans ~/.vimrc ou ~/.config/vim/vimrc :
" Presse-papiers système
set clipboard=unnamed
" Police et ligatures
if has('gui_macvim')
set guifont=JetBrainsMono-Regular:h13
set macligatures
endif
" Ajustement automatique du thème
if has('gui_macvim') && &termguicolors
colorscheme gruvbox
else
colorscheme habamax
endif
Diagnostics courants
- La Touch Bar reste vide : vérifiez que
runtime/menu.vimest présent, que MacVim a les droits d’accessibilité et exécutez:call macvim#reset_touchbar(). - Les icônes ne s’affichent pas : utilisez uniquement des noms AppKit valides tels que
NSAddTemplateouNSSearchTemplate. - Apple Intelligence ne répond pas : assurez-vous que le raccourci existe, que le mode développeur est actif et que la connexion réseau est stable.