salir - ¿Cómo detectar si existe un archivo específico en Vimscript?
vim pegar del portapapeles (2)
Estoy buscando una manera elegante en Vimscript para verificar si el archivo existe en el directorio actual en una función.
Se me ocurrió esto, pero no estoy seguro si esa es la solución más elegante (voy a configurar la opción de vim si existe) - ¿hay alguna forma de no tener que hacer otra comparación del nombre de archivo? - tal vez use una función incorporada diferente de vim
(?):
:function! SomeCheck()
: if findfile("SpecificFile", ".") == "SpecificFile"
: echo "SpecificFile exists"
: endif
:endfunction
Algunos de los comentarios expresan preocupaciones sobre el filereadable
y el uso de glob
lugar. Esto resuelve el problema de tener un archivo que sí existe, pero los permisos impiden que se lea. Si desea detectar dichos casos, lo siguiente funcionará:
:if !empty(glob("path/to/file"))
: echo "File exists."
:endif
Con un poco de búsqueda en vim man
he encontrado esto, que se ve mucho mejor que el original:
:function! SomeCheck()
: if filereadable("SpecificFile")
: echo "SpecificFile exists"
: endif
:endfunction