Je cherche un moyen de cartographier la commande: w Commande de sorte que lorsque je l'utilise, il va rsync le répertoire actuel et enregistrera le fichier en question. Idéalement, la réponse générée par la commande rsync doit être renvoyée dans Vim, mais pas dans le fichier actuel, mais plutôt comme une info-bulle ou quelque chose. P>
J'ai réussi à y parvenir à Textmate et je cherche maintenant à commencer à travailler avec VIM.
J'ai essayé des choses comme : carte W: w |! Rsync code>, mais cela ne semble pas fonctionner. P>
3 Réponses :
Vous pouvez accrocher à BufwritePost. Je ne me souviens pas de la syntaxe exacte, mais " Vous avez configuré un crochet de base comme celui-ci ( Motifs correspondant sur un fichier, vous pouvez donc faire * .Your_extension): p> aussi, il devrait y avoir un moyen de le rendre tampon-local. P> p> : il bufwriteporpost code>" et "
: il autocommand code>" devrait vous aider.
Si vous souhaitez conserver la copie locale, le BUFWRITEPOST Autocmd suggéré par Viraptor est le meilleur pari, mais en supposant que vous disposez du plug-in NetRW installé (faisant partie des fichiers d'exécution VIM par défaut), vous pouvez également démarrer VIM avec: xxx pré>
et éditer simplement le fichier comme si elle est locale: enregistre mettra à jour le serveur distant. P>
:help rsync
Vous pouvez configurer le tampon autocommandes local pour le faire (voir: Aide Autocmd-Buflocal )
Ceci définit Vim pour invoquer rsync après chaque écriture sur la mémoire tampon. P>
au BufWritePost,FileWritePost <buffer> silent !rsync -a /path/to/somedir/ user@host:/remote/dir/ --exclude=*.sw?
& code> à la fin de la commande. Ymmv. li>
ul> p>
Utilisez ce plug-in -> Github.com/kenn7/vim-Arsync . Avec le "auto_sync_up" défini sur 1.