Voglio essere in grado di avviare facilmente Vim in modalità privata. Definiamo una modalità privata come quella che utilizza questo set di comandi:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Fammi sapere se riesci a pensare a eventuali comandi aggiuntivi adatti alla modalità privata.
Il punto è che non riesco a pensare a un modo semplice e breve per avviare Vim con questa configurazione.
Ecco alcune idee che ho trovato:
Carica .vimrcprivate invece di .vimrc
Puoi semplicemente mettere tutti i comandi necessari in .vimrcprivate e avviare Vim in questo modo:
vim -u .vimrcprivate
Definire e chiamare una
Private()
funzioneUn'altra idea aggiunge un codice come questo al tuo .vimrc:
function Private() " set of commands here endfunction
e quindi sei in grado di avviare Vim in una modalità privata come questa:
vim -c 'call Private()'
Utilizzare una variabile per attivare l'impostazione dei comandi
È abbastanza simile alla seconda soluzione. Basta aggiungere
if exists('privatemode') " set of commands here endif
sul tuo .vimrc e poi avvia Vim usando
vim -c 'let privatemode=1'
che non è né intelligente né breve.
Aggiungi un alias al tuo .bashrc (o a qualsiasi altro file. * Rc utilizzato dalla tua shell)
Per esempio:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
che è terribile. Non mi piace
Usa una variabile ambientale
Esegui
VIM_PRIVATE=1 vim
e aggiungiif $VIM_PRIVATE " set of commands here endif
al tuo .vimrc.
Un po 'di magia (da un commento di Carpetsmoker in questa discussione )
Carpetsmoker dice in questo commento che
Non consiglierei di usare un file vimrc separato, per la semplice ragione> che è così facile da dimenticare. Qualcosa come questo autocmd:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
dovrebbe fare la magia per te ed è impossibile dimenticarlo.Comunque ho idea di come questa magia funziona ancora .
Hai qualche idea?
La soluzione perfetta sarebbe vim -private
o vim +Private
comunque:
- Sono abbastanza sicuro che non puoi aggiungere le tue opzioni personalizzate come da riga di comando
-private
. - quando si tratta di
+Private
non sono riuscito a trovarlo online.
vim -Nu .vimrcprivate
.
alias vimprivate='vim -u .vimrcprivate'
ecc.
v:progname == "vimp"
e, se vero, eseguire le impostazioni della modalità privata. Vedere :help v:progname
.
command! Private set history=0 nobackup secure ...
e quindi chiamarlo dalla shell convim +'Private'
. Per quanto riguarda l'ultimo comando automatico menzionato, quando viene letto un buffer, verifica se il valore'cryptmethod'
dell'opzione, o'cm'
per la versione breve, non è vuoto. Questa opzione controlla il metodo di crittografia utilizzato per crittografare il buffer quando viene scritto in un file con il comando Ex:X
. Se l'opzione non è vuota, il comando automatico imposta varie opzioni.