Mengapa saya membutuhkan vimrc dan gvimrc?

38

Tampaknya ada dua cara untuk menyimpan preferensi khusus untuk gvim:

  1. Simpan .vimrcfile untuk vim dan .gvimrcfile untuk tambahan khusus gvim.

  2. Simpan semua pengaturan .vimrcdan bungkus pengaturan khusus gvim dalam kondisi deteksi fitur:

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

Mengingat adanya opsi yang terakhir, mengapa saya membutuhkan .gvimrcfile?

Caleb
sumber
Salah satu contoh spesifik yang saya temukan berguna adalah winposyang mengubah posisi jendela yang digunakan oleh gvim. Ini tidak memiliki efek (dan tidak masuk akal) di dalam ~/.vimrc, itu harus di~/.gvimrc
jalanb

Jawaban:

29

Saat GUI dimulai, beberapa pengaturan diatur ulang dan kemudian .gvimrcdiproses.

Oleh karena itu, jika Anda menginginkan nilai non-default untuk salah satu pengaturan itu, Anda harus mengaturnya dalam .gvimrc; pengujian untuk mode GUI di .vimrctidak akan berfungsi.

Salah satu pengaturan tersebut adalah t_vb, kode terminal yang digunakan untuk bel visual; pada kenyataannya, semua terminal opsional diatur ulang ke default untuk mode GUI (lihat :help terminal-options).

Selain itu, sekelompok pengaturan GUI dan kustomisasi menu dilakukan; jika Anda ingin men-tweak semua itu, Anda akan menginginkannya dalam .gvimrcatau mungkin tidak memiliki dampak apa pun.

Membaca ulang :help gvimrcmemberikan ikhtisar yang baik tentang hal-hal yang dapat berubah pada Anda antara sumber Anda .vimrcdan .gvimrcyang mungkin ingin Anda pertimbangkan untuk menyesuaikan kembali pada yang terakhir.


sumber
3
IIRC Anda dapat menggunakan :guiperintah (di dalam has("gui_running"), tentu saja) untuk memaksa urutan startup gui terjadi sebelum perintah .vimrc berikutnya. .Vimrc saya menggunakan ini untuk memungkinkan pengaturan latar belakang terang / gelap diatur berdasarkan warna latar belakang GUI yang sebenarnya.
Random832