¿Por qué necesito un vimrc y un gvimrc?

38

Parece que hay dos formas de almacenar las preferencias específicas de gvim:

  1. Mantenga un .vimrcarchivo para vim y un .gvimrcarchivo para adiciones específicas de gvim.

  2. Mantenga todas las configuraciones .vimrcy ajuste las configuraciones específicas de gvim en una función de detección de características:

    if has('gui_running')
        " gvim specific settings here
    endif
    

Dada la existencia de esta última opción, ¿por qué necesitaría un .gvimrcarchivo?

Caleb
fuente
Un ejemplo específico que encuentro útil es el winposque cambia la posición de la ventana utilizada por gvim. Esto no tiene ningún efecto (y no tiene sentido) en el interior ~/.vimrc, tiene que estar en~/.gvimrc
jalanb

Respuestas:

29

Cuando se inicia la GUI, algunas configuraciones se restablecen y luego .gvimrcse procesan.

En consecuencia, si desea un valor no predeterminado para cualquiera de esas configuraciones, deberá establecerlo en a .gvimrc; probar el modo GUI en .vimrcno funcionará.

Uno de estos ajustes es t_vb, el código de terminal utilizado para la campana visual; De hecho, todos los terminales opcionales se restablecen a los valores predeterminados para el modo GUI (ver :help terminal-options).

Además, se lleva a cabo un montón de configuración de GUI y personalización del menú; si desea modificar algo de eso, querrá eso en .gvimrco puede que no tenga ningún impacto.

Leer más :help gvimrcproporciona una buena visión general de las cosas que pueden cambiar en usted entre el origen de su .vimrcy .gvimrcque es posible que desee considerar reajustar en este último.


fuente
3
IIRC puede usar el :guicomando (dentro has("gui_running"), por supuesto) para forzar la secuencia de inicio de la GUI antes de cualquier comando posterior .vimrc. Mi .vimrc usa esto para permitir que la configuración predeterminada de fondo claro / oscuro se establezca en función del color de fondo de la GUI real.
Random832