Estoy tratando de hacer que Vim ejecute el comando 'CommandTFlush' cada vez que se escribe un nuevo archivo. Para aquellos que no usan el complemento Command-T, el comando 'CommandTFlush' se usa para reconstruir un índice de archivos en el directorio actual.Ejecutar el comando CommandTFlush cuando se escribe un archivo nuevo
Lo que quiero hacer es ejecutar el comando después de escribir el archivo en el disco, para que CommandTFlush encuentre el archivo y lo agregue a su índice.
he intentado escribir una función a mí mismo, pero o bien no se dispara o se dispara demasiado pronto (antes de que el archivo está escrito, y el punto es para agregar el archivo al índice):
au! BufWritePre * ks| call NewFilesUpdatesCommandT()
function! NewFilesUpdatesCommandT()
let [email protected]%
if !filereadable(filename)
CommandTFlush
endif
endfunction
Sospecho que podría resolverse configurando var boolean var (isTheFileNew) en BufWritePre y luego ejecutar el comando CommandTFlush en BufWritePost si el archivo se acaba de crear, pero no puedo deducir la sintaxis. Otra solución podría ser configurar/desactivar la devolución de llamada BufWritePost desde la devolución de llamada de BufWritePre, si eso es posible ...
¿Alguien podría ayudarme aquí? ;)
¿Qué hace 'ks |' al inicio de su autocomando? No puedo encontrarlo en vim help. – ZyX
Lo encontré. ¿Por qué quieres marcar tu posición si tu función no mueve el cursor? – ZyX
No tengo idea realmente. Es solo un mal trabajo de copiar/pegar basado en algunos indicadores que obtuve en #[email protected] Aún no he descubierto cómo obtener algo útil de los archivos de ayuda. Estoy en mi tercer día con Vim aquí;) – peterfarsinsen