Bagaimana cara menggunakan data sensitif di .vimrc?

12

Saya ingin agar .vimrc saya disinkronkan melalui github sehingga harus menjadi file publik, tetapi pada saat yang sama saya harus memasukkan beberapa data sensitif (misalnya db kata sandi / host untuk dbext.vim) di dalamnya, tanpa memberikannya kepada lainnya. Apa cara terbaik dan cara melakukannya?

Kossak
sumber
Apakah solusi Anda harus menggunakan repo github publik atau repo pribadi dan / atau self-host?
Casey
Saya ingin memilikinya di tempat umum, kecuali fragmen kecil dengan kata sandi tentu saja.
Kossak

Jawaban:

23

Anda dapat memasukkan file lain menggunakan sourceperintah. Sederhananya ini di bagian atas vimrc Anda:

source($MYVIMRC . ".private")

Dengan asumsi vimrc Anda ~/.vimrc, itu akan diperluas ke ~/.vimrc.private. Mulai sekarang, Anda dapat mendefinisikan variabel dalam file seperti ini:

let my_db_password = "bacon"

Maka Anda bisa merujuk mereka dengan nama di vimrc utama Anda.

Catatan

  • Anda dapat memanggil file vimrc pribadi apa pun yang Anda inginkan, bahkan dapat berada di direktori yang berbeda.
  • Jika Anda ingin menggunakan ~di jalur, Anda harus menggunakan expand(). Sebagai contoh:source expand("~/.private-vimrc")
  • Untuk menggabungkan nilai variabel dengan string, gunakan .operator. Sebagai contoh:"jdbc:mysql://example.com/waffles?user=admin&password=" . my_db_password
nyuszika7h
sumber