Apakah mungkin dan bermanfaat untuk memecah vimrc?

22

Sesuai judulnya, apakah mungkin membagi vimrcfile dalam beberapa sub-file? Simpan file terpisah untuk grup pengaturan yang menyangkut satu hal ? Ini hal yang mungkin menjadi sesuatu, apapun kelompok yang ditetapkan pengguna pengaturan. Sebagai contoh,

[diperbarui]

  • simpan semua pengaturan terkait Python (-mode)vimrc.python-mode ?
  • menyimpan pengaturan untuk utilitas Kalender untuk vim vimrc.calendar?
  • menyimpan pengaturan warna dalam file terpisah?
  • menyimpan pemetaan (alias pintasan?) di file terpisah?
Nikos Alexandris
sumber
3
Sisi lain: pengelompokan berbasis lokasi dan bukan tipe file. Lihat vi.stackexchange.com/q/77/205
muru
Mungkinkah jawaban yang saya cari ada di antara baris-baris di vi.stackexchange.com/a/3152/1963 ? Sumber file yang berisi pengaturan yang saya inginkan untuk hal-hal spesifik yang saya butuhkan?
Nikos Alexandris
Menghapus filetypetag - untuk saat ini mungkin? Itu membuat pembaca berpikir pertanyaannya adalah tentang jenis file tertentu, yang tidak terjadi.
Nikos Alexandris
sepertinya cocok mengingat pertanyaan awal.
muru
@uru Ya, jangan khawatir. Kami mungkin menambahkannya nanti juga. Terima kasih.
Nikos Alexandris

Jawaban:

22

Ya ini mungkin dan bermanfaat dan bahkan dianggap praktik terbaik. Mereka disebut plugin tipe file dalam pidato Vim. Dan Vim bahkan dilengkapi dengan banyak plugin tipe file (serta file indent dan sintaks) untuk beberapa bahasa.

Anda perlu mengaktifkan ini di .vimrcseperti ini:

filetype plugin on

kemudian masukkan pengaturan tipe file spesifik Anda ke dalam file (membuat direktori yang tidak ada) yang dipanggil ~/.vim/ftplugin/python.vimuntuk pengaturan python. Ini juga tercakup dalam FAQ .

Pembaruan (13.11.2015) Ada juga kemungkinan lain (jika Anda tidak ingin menggunakan opsi tipe file spesifik): Jika Anda ingin mengelompokkan beberapa opsi ke file tertentu, Anda dapat menggunakan perintah sourceatau runtime. Misalnya saya .vimrcberisi baris ini:

" This script contains plugin specific settings
source ~/.vim/plugins.vim
" This script contains mappings
source ~/.vim/mapping.vim
" additional helper functions:
source ~/.vim/functions.vim
" For abbreviations read in the following file:
source ~/.vim/abbrev.vim
Christian Brabandt
sumber
Bagus, saya sudah memilikinya! Tetapi tidak pernah benar-benar melihat dari dekat. Jadi, saya memompa vimrc. Bagaimana dengan pengaturan yang tidak menyangkut tipe file tertentu?
Nikos Alexandris
2
Anda mungkin perlu :he autoloaddan :he source? Periksa juga jawaban ini stackoverflow.com/a/805242/1821490
Alex Kroll
@AlexKroll bukan untuk plugin tipe file.
Christian Brabandt
@ChristianBrabandt untuk semua yang Anda inginkan. Anda dapat sumber skrip apa pun di .vimrc. Cukup masukkan source my-funy-useful-script.vimbaris Anda .vimrcdan Vim memuatnya setelah memulai ulang (atau :so $MYVIMRCperintah). Juga :he writing-library-scriptsdapat membantu Anda.
Alex Kroll
@AlexKroll Saya pikir ini lebih dekat dengan jawaban yang saya cari. Maukah Anda mengedit jawaban saat ini dan mengembangkannya? Atau, buat jawaban terpisah? Saya tidak hanya mencari jenis file tertentu. Saya harap ini jelas dalam pertanyaan saya.
Nikos Alexandris
5

Sangat mungkin untuk melakukan apa yang Anda inginkan. Beberapa yang lain mengatakan tentang plugin tipe file yang bekerja dengan baik untuk itu.

Tetapi Anda dapat sumber dan .vim file di vimrc Anda sehingga Anda dapat membagi .vimrc menjadi banyak file yang Anda inginkan. Cukup sumber file dan itu akan berfungsi. Sebagai contoh di sini adalah dotfiles saya (mungkin tidak terlalu berguna). https://github.com/dspecht/dotfiles/

Spector
sumber
Bisakah Anda memberi contoh apa yang Anda lakukan dalam jawaban Anda dan mengapa itu berhasil?
EvergreenTree