Per garantire che il comportamento non sia influenzato dalla mia configurazione personale, voglio avviare Vim in un modo che ignori tutti i miei file di configurazione installati dall'utente, come se Vim fosse appena stato installato per la prima volta per la prima volta e l'utente l'avesse eseguito subito.
Questo è affrontato nelle FAQ che suggeriscono che la risposta è avviare Vim con il seguente comando:
vim -u NONE -U NONE -N -i NONE
Ciò consente di ottenere la maggior parte del percorso, ma l' runtimepath
opzione contiene ancora ~/.vim
e, in particolare, ~/.vim/after
(quindi, ad esempio, se accendo successivamente il rilevamento del tipo di file e cambio il tipo di file, ~/.vim/after/syntax/the_relevant_filetype.vim
verrà eseguito il codice in ).
Posso risolvere questo specifico problema invocando i seguenti comandi all'avvio *:
:set runtimepath-=~/.vim
:set runtimepath-=~/.vim/after
... ma non sono sicuro se:
- Questa è una soluzione solida: sono gli unici percorsi che possono rendere effettive le configurazioni utente? C'è qualcos'altro a cui non ho pensato?
- Esiste un modo migliore per ottenere il risultato desiderato.
* Usando --cmd
o -u vimrc
shell argomenti, o semplicemente digitandoli manualmente.
EDIT : Ecco un esempio specifico del tipo di problema che sto cercando di risolvere. (Anche se vorrei che la soluzione risolvesse altri possibili problemi, potrei non aver ancora riscontrato.):
Crea un file ~ / .vim / after / ftplugin / c.vim, contenente il contenuto:
noremap i :echom "This is not default behaviour"<CR>
Ora abbiamo alcune configurazioni installate dall'utente che vogliamo ignorare. Testiamo la soluzione suggerita dalle FAQ.
Esegui Vim con il comando:
vim -u NONE -U NONE -N -i NONE
Inserisci i comandi:
:filetype plugin on :set ft=c i
Comportamento desiderato : Vim dovrebbe entrare in modalità Inserisci. Questo è ciò che farebbe se non esistesse alcuna configurazione utente.
Comportamento osservato : Vim stampa "Questo non è un comportamento predefinito"
:cd ~
, Ma anche la posizione predefinita del viminfo
file è in $ HOME, che può causare E138. Immagino che creare una nuova directory vuota e usarla per $ HOME potrebbe essere la soluzione migliore.
-u NONE
?
/tmp
potrebbe essere migliore, è stato il mio primo pensiero, ma poi ho scelto / dev / null come un buco nero. ... O qualcosa del genere HOME=$(mktemp -d) vim ...
.
-u NONE
? Dipende da quale comportamento hai bisogno, suppongo.
HOME=/dev/null vim -u NONE
:?