поместите `.vimrc` в папку` .vim`


24

Можно ли положить .vimrcв .vimпапку, чтобы мне нужно было только синхронизировать всю папку, а не папку и файл на других компьютерах?


2
Возможно, вы захотите сохранить все ваши точечные файлы в хранилище с контролем версий. Все мои точечные файлы хранятся в каталоге, управляемом git. Этот репозиторий также содержит сценарии для проверки различий между репо и установленными точечными файлами и сценарий для копирования точечных файлов в их соответствующие местоположения. Чтобы настроить другой компьютер, я в основном копирую репозиторий и запускаю скрипт установки.
Роланд Смит

У меня та же система, мой точечный файл даже скомпилирован из множества отдельных исходных файлов, поскольку один файл становился слишком длинным :-D
Martin Ueding

@RolandSmith Как настроить репо с вашими точечными файлами? Один из способов, который я могу придумать, - запустить git init в вашей домашней папке и исключить все, кроме файлов точек, которые вы хотите отслеживать.
адаммендоза

@adammendoza Я не управляю ими на месте. Я собираю все в дереве каталогов и использовать скрипт развертывания , чтобы установить их. Прочитайте описание на связанной странице GitHub, чтобы увидеть, как это работает.
Роланд Смит

Существует инструмент под названием VCSH, который позволяет вам отслеживать их из вашего домашнего каталога, но хранит репозиторий в другом месте.
Мартин Юдинг

Ответы:


28

Начиная с Vim 7.4, вы также можете просто поместить файл vimrcв Windows $HOME/.vim/vimrcили $HOME/vimfiles/vimrcдля Windows, и Vim найдет его автоматически.

Обратите внимание, это vimrcбез. (точка) или _ (подчеркивание), как в традиционном файле .vimrc / _vimrc.


Звучит хорошо. Если хотите, вы можете поместить свой код в кавычки.
Мартин Юдинг

7.4 тоже вышла из бета-версии ... так что это, вероятно, лучший способ сделать это сейчас.
Бен

+1 за мой новый стандартный способ присвоения этих файлов. В случае, если я на машине, которая не использует 7.4, но более старую версию, я всегда могу сделать символическую ссылку ...
polemon

@Ben: Что ж, пройдет некоторое время, пока у меня не будет 7.4 на моей машине с Ubuntu без каких-либо бэкпортов, так что пока так и останется.
Мартин Ueding

15

Я держу свой .vimrc в .vim и символическую ссылку.

ln -s ~/.vim/.vimrc ~/.vimrc

Я думаю, что в Windows вы можете сделать то же самое с mklink.


Я делаю это, а также имею каталог .vimrc на github, что делает его очень простым при настройке новой учетной записи. Это описано в первых шагах этого vimcast
pmac72

5

Если вам нужно создать псевдоним для vim, чтобы указать расположение .vimrc, например, так:

alias vim='vim -u ~/.vim/vimrc'

тогда вы можете покончить с отдельным разделом .vimrc.

НО

Это вызовет проблемы с другими программами, взаимодействующими с vim. Нажатие 'v' в 'less' не будет работать, так как он вызывает vim через содержимое переменной env EDITOR. Я полагаю, вы можете добавить бит -u ... в переменную EDITOR. может работать.

Для gvim вы должны использовать там заглавную букву 'U', чтобы указать расположение файла .gvimrc. Опять же, возникают проблемы, если вы не измените КАЖДОЕ возможное начальное местоположение gvim в начальных ссылках вашего оконного менеджера.

В общем, я бы предложил использовать предложение @ remyo, если вы ДОЛЖНЫ иметь все это в одном подкаталоге.

Относительно легко создать сценарий после извлечения, который восстановил бы связь между «repo / .vimrc» и «~ / .vimrc».

Удачи.

(Вы можете перекомпилировать vim самостоятельно, указав новое расположение по умолчанию для файла .vimrc.)


1
Хорошо, это звучит как создание большего количества проблем, чем решение.
Мартин Уединг

2

Это именно то, что я делаю, с этой единственной строкой в ​​моем ~/.vimrc:

runtime vimrc

2
Хорошо, но я все еще должен иметь .vimrcтогда. Тогда я просто использую тот, который вы дали мне в другом вопросе.
Мартин Уединг
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.