J'essaie de faire en sorte que Vim exécute la commande 'CommandTFlush' chaque fois qu'un nouveau fichier est écrit. Pour ceux qui n'utilisent pas le plugin Command-T, la commande 'CommandTFlush' est utilisée pour reconstruire un index de fichiers dans le répertoire courant. Ce que je veux faire est d'exécuter la commande après que le fichier soit écrit sur le disque, afin que CommandTFlush trouve le fichier et l'ajoute à son index.Exécutez la commande CommandTFlush lors de l'écriture d'un nouveau fichier
J'ai essayé d'écrire une fonction moi-même, mais soit il ne (avant que le fichier est écrit, et le point entier est d'ajouter le fichier à l'index) pas trop tôt le feu ou il se déclenche:
au! BufWritePre * ks| call NewFilesUpdatesCommandT()
function! NewFilesUpdatesCommandT()
let [email protected]%
if !filereadable(filename)
CommandTFlush
endif
endfunction
Je suppose qu'il pourrait être résolu en définissant une variable booléenne (isTheFileNew) dans BufWritePre et ensuite exécuter la commande CommandTFlush dans BufWritePost si le fichier venait juste d'être créé, mais je n'arrive pas à comprendre la syntaxe. Une autre solution pourrait être de mettre en/hors service le rappel BufWritePost depuis le rappel BufWritePre, si c'est possible ...
Quelqu'un pourrait-il m'aider? ;)
Que fait 'ks |' au début de votre autocommande? Je ne peux pas le trouver dans l'aide de vim. – ZyX
Trouvé. Pourquoi voulez-vous marquer votre position si votre fonction ne déplace pas le curseur? – ZyX
Aucune idée vraiment. C'est juste un mauvais travail de copier/coller basé sur quelques pointeurs que j'ai eu dans #[email protected] Je n'ai pas encore compris comment obtenir quelque chose d'utile sur les fichiers d'aide pour le moment. Je suis sur mon troisième jour avec Vim ici;) – peterfarsinsen