Varsayılanım yerine kullanmak vim -u filename
için kullanabilirim . (Kullanıcı bağlamları geçiş yaparken ben bu yöntemi kullanıyorum ) kullanmak için benim bile süper kullanıcı olarak çalışan gerçi.filename
.vimrc
su
.vimrc
Nasıl aynı elde edebilirsiniz da varsayılan olarak klasör için ~/.vim
ben Vim işaret böylece komut satırından alternatif bir klasöre?
Neyi başarmak istiyorum
Tamam, user joe
( HOME=/home/joe
) ve user root
( HOME=/root
) öğelerini varsayalım . Kullanıcının buna benzeyen joe
bir takma adı kümesi vardır vim
(ancak başlangıçta $HOME
bu dinamiği oluşturmak için değişken kullanılarak ayarlanır ):
alias vim='vim -p -N -n -i NONE -u "/home/joe/.vimrc"'
Sonra kullanıcı joe
satırları boyunca sudo su -
(ama büyü ile) bir şey yapar , .bashrc
ve /home/joe
yüklenecek diğer güzellikler ile sonuçlanır root
. Kullanıcı root
, vim
yukarıda gösterildiği gibi artık tam olarak aynı takma ada sahip .
Sorun, bunun .vimrc
çeşitli sistemlerde ve çeşitli senaryolarda kullanılmasıdır. Genellikle Joe'nun hesabı çağrılır joe
, ancak bazen bunun gibi local.joe
veya başka bir şey olabilir ve bunun için farklı bir değer elde edilir $HOME
. Bu nedenle, ~/.vim
klasöre giden mutlak bir yolu kodlamak iyi bir fikir gibi görünmüyor. Bununla birlikte, yukarıdaki senaryomuzda kullanıcının varsayılan olarak loaded ( ) yoluyla var olması beklenen root
bir klasörü /root/.vim
yoktur ..vimrc
/home/joe/.vimrc
Başlamak istediğim - tercihen komut satırında - Vim'in aşağıdaki gibi /home/joe/.vim
başlatıldığında alttan eklentileri vs kullanmasını sağlamaktır root
( alias
gösterildiği gibi ayarlandığı varsayılırsa - diğer durumlar göz ardı edilebilir). VimScript üzerinden dinamik bir yöntem varsa, lütfen işaretçiler sağlayın. Ama $HOME
bence değişkenlerin 22 yakalanmasına yol açacağını düşünüyorum.
ln
. 'mv ~ / .vim ~ / .vim-whatever && ln -s ~ / .vim-whatever ~ / .vim` sonra aynısını yapın.vimrc
. Kolayca bir şekilde veya diğerine geçebilmeniz için tüm bunları bazı bash takma adları ile sarın