Навіщо мені потрібні і vimrc, і gvimrc?


38

Здається, існує два способи зберігання налаштувань, характерних для gvim:

  1. Зберігайте .vimrcфайл для vim та .gvimrcфайл для спеціальних доповнень gvim.

  2. Зберігайте всі параметри .vimrcта загортайте специфічні параметри gvim у виявленні функції:

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

Зважаючи на існування останнього варіанту, навіщо мені взагалі потрібен .gvimrcфайл?


Один конкретний приклад, який мені здається корисним, - це те, winposщо змінює положення вікна, яке використовується gvim. Це не має ефекту (і не має сенсу) всередині ~/.vimrc, воно повинно бути~/.gvimrc
jalanb

Відповіді:


29

Коли GUI запускається, деякі параметри скидаються, а потім .gvimrcобробляються.

Отже, якщо ви хочете значення, яке не використовується за замовчуванням, для будь-якого з цих параметрів, вам потрібно буде встановити його у .gvimrc; тестування для режиму GUI в .vimrcне працюватиме.

Одне таке налаштування - t_vbтермінальний код, який використовується для візуального дзвоника; насправді всі додаткові термінали скидаються за замовчуванням для режиму GUI (див. :help terminal-options).

Додатково виконується купа налаштування графічного інтерфейсу та налаштування меню; якщо ви хочете налаштувати що-небудь із цього, ви хочете, щоб це в a .gvimrcабо це не мало ніякого впливу.

Читання :help gvimrcдає хороший огляд речей, які можуть змінитися у вас між джерелами пошуку .vimrcта .gvimrcякі ви можете подумати про повторну коригування в останньому.


3
IIRC ви можете використовувати :guiкоманду ( has("gui_running")звичайно, всередині ), щоб змусити послідовність запуску gui відбуватися перед будь-якими наступними командами .vimrc. Мій .vimrc використовує це, щоб дозволити встановити фоновий / темний настройки за замовчуванням на основі фактичного кольору фону GUI.
Випадково832
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.