J'essaie d'utiliser autocmd
pour obtenir des mappages spécifiques à un nom de fichier. J'ai suivi des instructions en ligne et écris le texte suivant dans mon vimrc
:
autocmd BufRead,BufNewFile special.txt (some mappings here)
Cela fonctionne bien lorsque je saisis un fichier ou crée un nouveau tampon avec le nom special.txt
, mais pas lorsque je crée un tampon vide (par exemple, lors du démarrage de vim sans argument) et que je le sauvegarde sous un nom special.txt
.
Même un simple echomsg
ne fonctionnera pas:
autocmd BufRead,BufNewFile special.txt echomsg test
et il n'y a pas de texte test
dans l'historique des messages.
Mais dans la documentation de BufRead
je vois
Également déclenché pour le groupe filetypedetect lors de l'exécution de ": filetype detect" et lors de l'écriture d'un tampon non nommé de manière à ce que le tampon obtienne un nom.
Lorsque je sauvegarde un tampon vide avec le nom special.txt
, le tampon obtient un nom et BufRead
doit être déclenché. Mais en fait ce n'est pas le cas. Y a-t-il quelque chose qui me manque ou dois-je simplement utiliser un autre événement autocommand?
Et au cas où cela serait utile, j'utilise la version en ligne de commande de vim dans le vim-gtk
paquet du référentiel Ubuntu.
filetypedetect
n’est utilisé que pour les commandes de détection de type de fichier, et je n’ajoute pas de nouveau type de fichier. Devrais-je mettre ces mappages dans unfiletypedetect
groupe ou créer un nouveau type de fichierspecial.txt
et les écrire en tant que plug-ins de type de fichier ?~/.vim/filetype.vim
, pas~/.vimrc
.