Mogę użyć vim -u filenamedo użycia filenamezamiast mojego domyślnego .vimrc. Korzystam z tej metody podczas przełączania kontekstów użytkownika ( su), aby korzystać z mojego, .vimrc nawet jeśli działam jako superużytkownik.
Jak mogę to zrobić również dla folderu, który domyślnie jest ~/.vimtak, że mogę skierować Vima z wiersza poleceń do innego folderu?
Co chcę osiągnąć
OK, załóżmy user joe( HOME=/home/joe) i user root( HOME=/root). Użytkownik joema ustawiony alias, dla vimktórego wygląda tak (ale pierwotnie ustawiony za pomocą $HOMEzmiennej, aby uczynić to dynamicznym):
alias vim='vim -p -N -n -i NONE -u "/home/joe/.vimrc"'
Następnie użytkownik joerobi coś zgodnie z sudo su -(ale z dodaną magią), co powoduje, że .bashrci inne gadżety /home/joezostaną załadowane root. Użytkownik rootma teraz dokładnie taki sam alias dla vimzestawu, jak pokazano powyżej.
Problem polega na tym, że .vimrcjest to używane w różnych systemach i różnych scenariuszach. Często nazywane jest konto Joe joe, ale czasami będzie to coś podobnego local.joelub cokolwiek innego, co spowoduje inną wartość $HOME. Tak więc kodowanie bezwzględne ścieżki do ~/.vimfolderu nie wydaje się dobrym pomysłem. Jednak w naszym powyższym scenariuszu użytkownik rootnie ma folderu, /root/.vimktóry powinien istnieć domyślnie za pośrednictwem funkcji load .vimrc( /home/joe/.vimrc).
To, co chcę osiągnąć - najlepiej w wierszu poleceń - to skłonić Vima do używania wtyczek itp. Od spodu /home/joe/.vimpo uruchomieniu jako root(zakładając, że aliasjest ustawiony jak pokazano - inne przypadki można zignorować). Jeśli istnieje jakaś metoda dynamiczna za pomocą VimScript, proszę podać wskaźniki. Ale $HOMEmyślę, że użycie takich zmiennych, jak mogłoby doprowadzić do złapania 22.
ln. jak 'mv ~ / .vim ~ / .vim -okolwiek && ln -s ~ / .vim -okolwiek ~ / .vim` następnie zrób to samo dla.vimrc. podsumuj to jakimś pseudonimem bash, abyś mógł łatwo przełączać się między nimi