spell-checking – ¿Cómo compartir las adiciones de corrección ortográfica de vim entre varias máquinas?

Pregunta:

Utilizo la función de corrección ortográfica de vim. Dado que trabajo con muchos términos técnicos y comandos LaTeX, tiendo a agregar muchos de ellos a mi diccionario personal en ~/.vim/spell/en.utf-8.add .

Me gustaría compartir este archivo en varias máquinas, de modo que cuando agregue una palabra al archivo en una máquina, también se agregue en otras máquinas, y no necesito agregarlo una vez en cada máquina. Intenté versionar ~/.vim/spell/en.utf-8.add en git, pero esto no parece funcionar: vim no recoge los nuevos términos. Sospecho que vim también necesita que el archivo en.utf-8.add.spl de alguna manera, pero como este archivo es binario, el control de versiones probablemente dará lugar a conflictos.

¿Alguien aquí tiene una solución satisfactoria para tener adiciones de diccionario de corrección ortográfica de vim como parte de su configuración y sincronizarlas entre todas sus máquinas?

Respuesta:

Vim utiliza el archivo spl para realizar las comprobaciones y el archivo spl se genera a partir del archivo de add . Podemos especular sobre si el archivo spl es portátil en diferentes máquinas y versiones de Vim, pero es más fácil (y más seguro) volver a generarlo según sea necesario. Ahora, el archivo spl se vuelve a generar automáticamente cuando agrega palabras a su diccionario local desde Vim, pero debe ejecutar mkspell para volver a generarlo si edita el archivo de add directamente.

Con eso en mente, puede hacer algo como esto: sincronice el archivo de add por cualquier medio (con git , rsync , NFS o lo que sea) y agregue estos comandos a su vimrc en todas las máquinas:

for d in glob('~/.vim/spell/*.add', 1, 1)
    if filereadable(d) && (!filereadable(d . '.spl') || getftime(d) > getftime(d . '.spl'))
        exec 'mkspell! ' . fnameescape(d)
    endif
endfor

Esto volverá a generar el archivo spl al inicio de Vim siempre que el archivo de add correspondiente sea más nuevo que él.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım