Sto provando a utilizzare inotifywait
per il monitoraggio di cartelle specifiche e la ricompilazione, se necessario. Il problema è che sto usando vim pesantemente, e quando sto modificando in vim qualsiasi file modificato in realtà fa scattare alcuni eventi 'ridondanti', qualcosa di simile:Troppi eventi inotify durante la modifica in vim
:w
sass/somefolder/ CREATE 4913
sass/somefolder/ CREATE some
sass/somefolder/ MODIFY some
Mi c'è voluto del tempo per rendersi conto che in realtà tutto è OK con inotifywait
- Ho provato a usare nano
e tutto ha funzionato esattamente come previsto, solo "MODIFY" viene attivato, e solo una volta.
Ho provato a modificare (solo per scopi di test, non giudicarmi duro) Emacs e ci sono problemi anche con Emacs - ogni volta che preme Ctrl-X + Ctrl + S MODIFY si attiva 3 volte .
La domanda è: come posso risolvere i problemi con eventi superflui in vim?
A proposito, directory
e backupdir
nel mio .vimrc
non sono nella cartella che viene monitorata.
UPD: This link explains perché effettivamente le cose accadono come accadono, ma non ho ancora idea di come risolvere questo problema. Beh, certo che posso ignorare 4913 contenente stringa, ma questo è troppo kludgy anche per chi cerca di usare inotify per compilare SASS)))
UPD: versione VIM è 7.3.429
grazie per questa risposta. L'opzione '-e close_write' è decisamente migliore, ma risolve solo il problema con più modifiche, ma non con misterioso' sass/somefolder/CLOSE_WRITE, CLOSE 4913' evento – shabunc
Si potrebbe semplicemente ignorare gli eventi nelle directory ...se hai 'inotifywait', attendi in output il percorso, puoi fare in modo che il tuo script controlli se è una directory (' [-d ...] ') e attiva le tue azioni solo se i file vengono modificati. – larsks
Per impostazione predefinita, quando vim salva un file ne crea uno nuovo e lo scrive, e quando è sicuro che abbia scritto correttamente, cancella il vecchio file e rinomina quello nuovo. Questa potrebbe essere la causa di alcuni eventi spuri. Puoi disattivarlo con 'imposta nowritebackup'. Vedi ': help backup-table' e amici. –