2011-08-18 17 views

risposta

26

È necessario avviare vim con il comando vim -u ./path/to/your/vimrcfile

vim -u NONE è un buon modo per iniziare Vim senza alcun plugin o personalizzazione.

Vedere :help starting.txt per ulteriori informazioni.

+1

significa l'opzione -u significa che Vim avrà inizio solo con queste personalizzazioni e tutte le personalizzazioni globali da/etc e tutte verranno saltate? – Vivek

+3

Da starting.txt: 'Se Vim è stato avviato con" -u filename ", viene utilizzato il file" nomefile ". Tutte le seguenti inizializzazioni fino a 4. vengono saltate. I passaggi ignorati includono l'uso del vimrc di sistema. Quindi è "sì" alla tua domanda. –

34

Un'altra soluzione potrebbe essere quella di creare un collegamento simbolico alla posizione preferita. Ho il mio .vimrc in $ HOME/.vim/.vimrc e symlink ad esso. In questo modo posso averlo in un repository git e backup.

+1

Oh cosa si darebbe per lavorare su una piattaforma con un accesso così facile ai collegamenti simbolici. :) –

+5

@ dash-tom-bang Questa non è una conoscenza comune, ma tutti i principali SO lo supportano, * incluso * Windows (sempre da Vista). Prova l'utility [mklink] (http://technet.microsoft.com/en-us/library/cc753194 (v = ws.10) .aspx). –

+0

Inoltre, ho appena osservato che è anche possibile fare pre-vista con un'utilità chiamata [fsutil] (http://serverfault.com/a/7175). Ha senso, dal momento che NTFS probabilmente non è stato aggiornato dal suo inizio. –

15

Su Windows, ho il _vimrc che è nella mia home directory contiene una riga, source c:\path\to\my.vimrc.

Non ho ancora elaborato un buon metodo per spostare l'intera cartella di vimfiles, ma è meno importante in quanto è tutto ciò che ho installato da altrove. Ad esempio, sarebbe facile ripristinarlo se lo avessi perso. (So ​​che posso cambiare runtimepath ma il mio problema è più venire con un modo "buono" per farlo.)

Aggiornamento

Dopo sei anni ho esteso un po 'da quello che ho detto nei commenti sotto; come ho messo le cose in 'dopo' e volevo solo mantenere rtp pulito ho ottenuto qualcosa che è stato solido per un po 'di tempo. Oggi nel mio %USERPROFILE%\_vimrc faccio l'hardcode dei percorsi effettivi alle cose e cambia su ogni macchina che uso (e fondamentalmente faccio la stessa cosa su * nix) ma questo viene copiato in gran parte manualmente quando si imposta un nuovo PC. Ho anche una versione che posso utilizzare per avviare Vim su un'altra macchina connessa sulla rete, ad es. la macchina di un collega di lavoro, così ho ottenere il mio config e tutto il resto, ma il succo è:

set runtimepath^=E:/dotfiles/vim 
set runtimepath+=E:/dotfiles/vim/after 
set runtimepath-=~/vimfiles 
set runtimepath-=~/vimfiles/after 
runtime vimrc 

e poi %USERPROFILE%\_gvimrc solo ha una linea:

runtime gvimrc 

(Sia vimrc e gvimrc sono in Cartella /dotfiles/vim e anche on Bitbucket.)

+0

Da allora ho deciso di fare 'set runtimepath^= d: \ path \ to \ vimfiles' che sfortunatamente codifica il percorso di quei file ma ora almeno Posso tenerli nel controllo del codice sorgente. A quanto pare, più utilizzo Vim, maggiore è la personalizzazione che desidero per il mio setup. –

+0

Questo è sicuramente l'approccio più indolore per questo problema – spongeworthy

+0

Questa è la soluzione migliore dopo la mia opinione. Direi di aggiungere questo al file ~/.bash_profile: alias vim = "/ PATH/TO/VIM-DIR/vim -S ~/PATH/TO/VIMRC-DIR/.vimrc" E il percorso per vim può essere trovato scrivendo quale vim (per vedere quale vim viene utilizzato). – Zeth

18

La variabile VIMINIT è il mio metodo preferito. Il problema con l'aliasing vim con il flag -u è che se vim viene aperto in qualche modo diverso dal comando shell, la configurazione non verrà inserita. Impostazione $ VIMINIT non soffre di questo inconveniente. Controllare this per ulteriori informazioni.

export VIMINIT='source $MYVIMRC' 
export MYVIMRC='~/.vim/vimrc' #or any other location you want 

Nota che Vim normalmente imposta la variabile MYVIMRC, anche se non sono sicuro di quello che è usato per. In base ai miei test, utilizzando VIMINIT in questo modo, non verrà automaticamente impostato all'avvio come sarebbe normalmente. Questo è il motivo per cui lo sto impostando da solo.

Questo funziona anche per neovim!

3

Vedo due opzioni, a seconda delle esigenze.

  1. Avere ~ /.vimrc importare l'altra posizione
  2. creare un alias nel bashrc alias vim = "vim -u otherlocation"
+0

Come si fa la prima di queste cose? – user3728501

2

ho modificato

C:\Program Files\Vim\_vimrc 

e cambiato sia il runtimepath e di provenienza mia .vimrc.

Io uso anche queste impostazioni in Cygwin (e le ho controllate in versione). Quindi è questo in pratica (aggiunto alla fine del file _vimrc):

let &runtimepath = 'C:\cygwin\home\cygwinaccount\.vim,' . &runtimepath 
source C:\cygwin\home\cygwinaccount\.vimrc 

Bliss! :)

0

In Linux: È possibile modificare o .bashrc.zshrc script di avvio e aggiungere le seguenti righe per modificare il percorso predefinito del file di .vimrc

export VIMINIT='source $MYVIMRC' 
export MYVIMRC='~/.vim/.vimrc' # Note the . (dot) before vimrc. If that is what you have called it. 
Problemi correlati