Я хотел бы изменить мой .vimrc
считать значение переменной из внешнего файла. Как я могу сделать это?
А именно, друг и я совместно используем мерзавца repo с нашим .vim
файлы, но существует несколько небольших различий в том, что мы хотим в наших конфигурациях. Таким образом, большая часть файла является общей, но мы используем, если операторы, чтобы определить, загрузить ли определенные для пользователя разделы, как это:
let whoami = "user2"
if whoami == "user1"
...
После проверки нашего общего .vimrc
из управления исходным кодом каждый из нас должен измениться let whoami
присвоение так наш собственный раздел будет загружено. Вместо этого я хотел бы сохранить отдельный файл, который может отличаться для каждого из нас, и из которого энергия загрузит то значение переменной.
Возможно, другой угол на этом: Будет энергия автоматически читать все файлы в моем .vim
каталог? Если так, мы могли каждый поместить символьную ссылку, там названную username.vim и ссылкой, что во внешний файл, который будет отличаться для каждого из нас.
в Вашем основном .vimrc файле:
source otherVimScriptFilePath.vim
затем просто поместите свой переменный оператор в тот файл:
" otherVimScriptFilePath.vim
let whoami = "user1"
название зарегистрированного пользователя доступно в переменной среды $USER. можно получить доступ к той переменной легко:
:echo $USER
таким образом просто используйте
execute "silent! source vimrc." . $USER
в Вашем vimrc и помещенный Ваш пользователь определенные настройки в
vimrc.joe
или независимо от того, что Ваше имя для входа в систему
У Вас может быть свой ~/.vimrc, загружают другой файл с помощью :source
команда. Например, Вы могли каждый поместить свои уникальные команды в ~/.myvimrc и загрузить те команды
source ~/.myvimrc
Или, поскольку Вы думали, Вы могли каждый поставить свое имя в том файле как это:
let user = "user1"
и затем помещенный это в Ваш ~/.vimrc:
source ~/.myvimrc
if user == "user1"
" do this
elseif user == "user2"
" do that
else
echo "Invalid user"
endif
Вместо того, чтобы ставить Ваши имена в файлах, тем не менее, Вы могли использовать $USER в качестве akira предложенный, или устанавливать user
использование whoami
, как это:
let user = substitute(system('whoami'), '\n', '', '')
Замена () функция необходима, потому что выводу системы () обычно прикрепляли '\n' на конце.
Я не уверен, на что Ваш vimrc похож так, это не может быть выполнимо, но если существуют значительные части, что Вы и Ваш друг доля, Вы могли бы хотеть разбить их в отдельные плагины. Можно добавить файлы к ~/.vim/plugin
каталог, чтобы иметь их загруженный на запуске. (Они загружаются в алфавитном порядке - использование :scriptnames
проверять.)
Тем путем у Вас может каждый быть vimrc, это абсолютно уникально, но вся Ваша общая конфигурация находится в плагинах. Если Вы разбиваете их логически, то это помогает совместно использовать с другими также.