Как использовать конфиденциальные данные в .vimrc?

12

Я хочу, чтобы мой .vimrc синхронизировался через github, поэтому он должен быть публичным файлом, но в то же время я должен поместить в него некоторые конфиденциальные данные (например, пароли db / hosts для dbext.vim), не отдавая их другие. Каков наилучший способ и как это сделать?

казах
источник
Должно ли ваше решение использовать общедоступные репозитории на github или нормально работают частные и / или автономные репозитории?
Кейси
Я хотел бы иметь это в публичном месте, кроме небольших фрагментов с паролями, конечно.
Коссак

Ответы:

23

Вы можете включить другой файл, используя sourceкоманду. Просто поместите это наверху вашего vimrc:

source($MYVIMRC . ".private")

Предполагая, что ваш vimrc есть ~/.vimrc, это расширится до ~/.vimrc.private. Теперь вы можете определять переменные в этом файле следующим образом:

let my_db_password = "bacon"

Тогда вы можете просто обратиться к ним по имени в вашем главном vimrc.

Примечания

  • Вы можете вызывать закрытый файл vimrc как угодно, он даже может находиться в другом каталоге.
  • Если вы хотите использовать ~в пути, вам нужно будет использовать expand(). Например:source expand("~/.private-vimrc")
  • Чтобы объединить значение переменной со строкой, используйте .оператор. Например:"jdbc:mysql://example.com/waffles?user=admin&password=" . my_db_password
nyuszika7h
источник