GNU/Linux >> Znalost Linux >  >> Linux

Použijte .vimrc a .vim/ jiného uživatele

Zdá se, že VIMINIT a VIMRUNTIME se nepoužívají, jak řekla Akira.

VIMINIT se používá jako příkaz Ex, takže VIMINIT=/home/user/.vimrc pokusí se vyhledat a zobrazí chybu jako:

search hit BOTTOM, continuing at TOP
Error detected while processing VIMINIT:
E486: Pattern not found: home

VIMRUNTIME normálně ukažte na umístění, kde jsou nainstalovány základní podpůrné soubory vim, například /usr/share/vim/vim73 , takže pokud je přesměrován na /home/user/.vim, vim by ztratil mnoho základních funkcí, pokud by váš vim nebyl právě nainstalován do /home/usr/.vim.

Podle :help -u a :help vimrc , -u vimrc volba může specifikovat .vimrc soubor, ale přeskočí většinu ostatních inicializačních souborů, jako je systémový vimrc, např. /etc/vimrc . Pokud zadaný soubor vimrc dělá téměř všechny úlohy, pak je tento nedostatek, pokud se takto nazývá, triviální.

Podle :help runtimepath , cesty runtimepath budou vyhledány podpůrné soubory, takže můžeme přidat /home/user/.vim a připojte /home/user/.vim/after na runtimepath před vložením souboru vimrc pomocí --cmd možnosti při spuštění.

Abych to shrnul, můžeme tento alias nastavit tak, aby používal ~/.vimrc a ~/vim:

alias vim='vim --cmd "set runtimepath^=/home/user/.vim" \
               --cmd "set runtimepath+=/home/user/.vim/after" \
               -u /home/user/.vimrc'

ps. Případně pro vás mohou fungovat dva jednoduché symbolické odkazy.

mv /root/.vimrc{,.bak}
mv /root/.vim{,.bak}
ln -s /home/user/.vimrc /root/
ln -s /home/user/.vim /root/

Pravděpodobně nejlepší řešení vůbec.

export MYVIMRC="/xxx/.vimrc"
export VIMINIT=":set runtimepath+=/xxx/.vim|:source $MYVIMRC"

kde xxx je přizpůsobená cesta.


Linux
  1. Jak přesunout /usr a /var do jiného oddílu nebo disku

  2. Kdy mám použít /dev/shm/ a kdy /tmp/?

  3. Jak používat @reboot v /etc/cron.d

  1. Kdy musím použít #!/bin/bash a kdy #!/bin/sh?

  2. Rozdíl mezi /bin a /usr/bin

  3. Proč jsou < nebo > vyžadovány pro použití /dev/tcp

  1. Jak Linux zpracovává více po sobě jdoucích oddělovačů cest (/home////username///soubor)?

  2. Bash =~ Regex A Https://regex101.com/?

  3. Jak změnit výchozí /tmp na /home/user/tmp