umieść `.vimrc` w folderze` .vim`

24

Czy można umieścić folder .vimrcw .vimfolderze, aby zsynchronizować tylko cały folder, a nie folder i plik z innymi komputerami?

Martin Ueding
źródło
2
Możesz rozważyć przechowywanie wszystkich plików dot w repozytorium kontrolowanym wersją. Wszystkie moje pliki dot są przechowywane w katalogu zarządzanym przez git. To repozytorium zawiera również skrypty sprawdzające różnice między repozytorium a zainstalowanymi plikami kropkowymi oraz skrypt do kopiowania plików kropkowych do ich właściwych lokalizacji. Aby skonfigurować inną maszynę, w zasadzie kopiuję repozytorium i uruchamiam skrypt instalacyjny.
Roland Smith
Mam ten sam system, mój plik kropkowy jest nawet kompilowany z wielu oddzielnych plików źródłowych, ponieważ pojedynczy plik staje się zbyt długi :-D
Martin Ueding
@RolandSmith Jak skonfigurować repo z plikami dot? Jednym ze sposobów, jakie mogę wymyślić, jest uruchomienie git init w folderze domowym i wykluczenie wszystkiego oprócz plików kropek, które chcesz śledzić.
adammendoza,
@adammendoza Nie zarządzam nimi na miejscu. Zbieram wszystko do drzewa katalogów i używam skryptu o nazwie deploy, aby je zainstalować. Przeczytaj opis na powiązanej stronie github, aby zobaczyć, jak to działa.
Roland Smith
Istnieje narzędzie o nazwie VCSH, które pozwala śledzić je osobiście z twojego katalogu domowego, ale zachowuje repozytorium gdzie indziej.
Martin Ueding,

Odpowiedzi:

28

Począwszy od wersji Vim 7.4, możesz także po prostu umieścić plik vimrcw systemie Windows $HOME/.vim/vimrclub $HOME/vimfiles/vimrcw systemie Windows, a Vim znajdzie go automatycznie.

Uwaga, to jest vimrcbez. (kropka) lub _ (podkreślenie), jak w tradycyjnym pliku .vimrc / _vimrc.

Ben
źródło
Brzmi dobrze. Jeśli chcesz, możesz umieścić kod w backticks.
Martin Ueding
Wersja 7.4 również jest obecnie poza wersją beta ... więc jest to prawdopodobnie najlepszy sposób na zrobienie tego teraz.
Ben
+1 za mój nowy standardowy sposób użytkowania tych plików. W przypadku, gdy korzystam z komputera, który nie używa wersji 7.4, ale starszej wersji, zawsze mogę utworzyć dowiązanie symboliczne ...
polemon 17.08.13
@Ben: Cóż, minie trochę czasu, zanim będę mieć 7.4 na mojej maszynie Ubuntu bez żadnych backportów, więc na razie tak pozostanie.
Martin Ueding,
15

Trzymam mój .vimrc w .vim i dowiązuję go symbolicznie.

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

Uważam, że w systemie Windows możesz zrobić to samo z mklink.

jeremyhtml
źródło
Robię to, a także mam katalog .vimrc na githubie, co bardzo ułatwia zakładanie nowego konta. Jest to opisane w pierwszych krokach tego vimcastu
pmac72
5

Jeśli chcesz utworzyć alias dla vima, aby określić lokalizację pliku .vimrc w następujący sposób:

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

wtedy możesz zrezygnować z oddzielenia .vimrc.

ALE

Spowoduje to problemy z innymi programami współdziałającymi z vimem. Naciśnięcie „v” w „mniej” nie będzie działać, ponieważ wywołuje vim poprzez zawartość zmiennej env EDITOR. Przypuszczam, że możesz dodać bit „-u ...” do zmiennej EDITOR. może działać.

W przypadku gvim użyjesz tam wielkich liter „U”, aby określić lokalizację pliku .gvimrc. Znów pojawiają się problemy, chyba że zmienisz KAŻDĄ możliwą lokalizację początkową gvim w linkach startowych menedżera okien.

Podsumowując, sugerowałbym skorzystanie z sugestii @ remyo, jeśli MUSISZ mieć wszystko w jednym podkatalogu.

Stosunkowo łatwo jest utworzyć skrypt post-pull, który ponownie ustanawia połączenie między „repo / .vimrc” i „~ / .vimrc”.

Powodzenia.

(ty mógł skompilować vim siebie, określając nową domyślną lokalizację dla pliku .vimrc).

lornix
źródło
1
Okej, to brzmi jak tworzenie większej liczby problemów niż rozwiązywanie.
Martin Ueding,
2

Właśnie to robię z tym pojedynczym wierszem w moim ~/.vimrc:

runtime vimrc
romainl
źródło
2
Okej, ale wciąż muszę to mieć .vimrc. Potem używam tylko tego, który mi dałeś w drugim pytaniu.
Martin Ueding