Específicamente, me gustaría configurar la opción makeprg solo si aún no se ha cambiado. Alguna forma de hacer esto?En vim, ¿hay alguna forma de: establecer una opción solo si aún no está configurada?
5
A
Respuesta
4
Puede acceder al contenido de una opción usando &
. Así que en este caso podrías comprobar si la opción está "vacía" de esta manera:
if &makeprg == ""
set makeprg=new_value
endif
--- --- EDITAR
Xavier hace que el buen punto de que el valor por defecto de makeprg
no es una cadena vacía Puede utilizar set {option}&
a establecer una opción a su valor predeterminado, por lo que la siguiente se puede utilizar para cambiar el valor sólo si el valor actual es el valor por defecto:
function! SetMakePrg(new_value)
let cur_value=&makeprg
" let new_val=a:new_value
set makeprg&
if &makeprg == cur_value
" cur_value is default: set to new value
exe "set makeprg=" . a:new_value
else
" cur_value is not default: change it back
exe "set makeprg=" . cur_value
endif
endfunction
Así llamando call SetMakePrg("my_make")
modificará la opción sólo si no es actualmente el predeterminado.
Cuestiones relacionadas
- 1. Cómo configurar una propiedad Ant solo si no está configurada
- 2. ¿Hay alguna forma de verificar si ya hay una alarma configurada?
- 3. ¿Hay alguna forma de comprobar si la opción "Instalar desde origen desconocido" está habilitada en Android?
- 4. En vim, ¿hay alguna manera de establecer "muy mágico" de forma permanente y global?
- 5. ¿Hay alguna forma de detectar si un objeto está bloqueado?
- 6. Verifica si la sesión está configurada o no, y si no creas una?
- 7. ¿Cómo puedo verificar si la opción de depuración python está configurada desde una secuencia de comandos
- 8. ¿Cómo instalo .NET Framework solo cuando aún no está instalado?
- 9. ¿Hay alguna forma de saltear solo una prueba en maven?
- 10. ¿Cómo verifico si hay más de una bandera enum configurada?
- 11. ¿Hay alguna forma de modificar dos registros en vim?
- 12. Comprobando si la cookie está configurada
- 13. ¿Hay alguna forma de determinar si el código GWT se está ejecutando en modo de desarrollo?
- 14. ¿Por qué no hay una interfaz "configurada" en .NET Framework?
- 15. ¿Es posible unir "dinámicamente" una tabla solo si esa tabla aún no está unida?
- 16. ¿Hay alguna manera de establecer una propiedad una vez solo en C#
- 17. Cómo verificar si la alarma está configurada
- 18. ¿Hay alguna forma de establecer valores en LINQ?
- 19. ¿Cómo debo verificar si una bandera está configurada en una lista de banderas?
- 20. ¿Hay alguna forma de determinar si el iphone está en itinerancia?
- 21. compruebe si la variable de entorno ya está configurada
- 22. ¿Hay alguna forma de tener una y solo una instancia de cada actividad?
- 23. ¿Hay alguna forma de establecer la alineación de texto de una columna completa en una tabla?
- 24. Rieles: ¿hay alguna forma de actualizar un solo atributo?
- 25. ¿Hay alguna forma de verificar si el texto está en cirílico o en latín usando C#?
- 26. Python: cómo comprobar si aún hay disponible una referencia débil
- 27. ¿Hay alguna razón para usar clases en Python si solo hay una clase en el programa?
- 28. La ubicación de Java DB no está configurada correctamente - netbeans
- 29. ¿Hay alguna forma de saber si un dispositivo Android es solo wifi?
- 30. En vim, ¿cómo desplazarse, de forma continua, mediante líneas de pantalla cuando está habilitada la opción de ajuste?
No estoy seguro de que el valor predeterminado de makeprg esté vacío, supongo que el valor predeterminado es 'make' (pero puede variar según el sistema operativo, etc.) .': verbose set makeprg? 'Returns makeprg = make sin nombre de archivo Supongo que esto significa que es el valor predeterminado. –