Je veux pouvoir démarrer facilement Vim en mode privé. Définissons un mode privé comme celui qui utilise cet ensemble de commandes:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Faites-moi savoir si vous pouvez penser à des commandes supplémentaires adaptées au mode privé.
Le fait est que je ne peux pas penser à un moyen court et facile de démarrer Vim avec cette configuration.
Voici quelques idées que j'ai trouvées:
Chargez .vimrcprivate au lieu de .vimrc
Vous pouvez simplement mettre toutes les commandes nécessaires dans .vimrcprivate et démarrer Vim comme ceci:
vim -u .vimrcprivate
Définir et appeler une
Private()
fonctionUne autre idée consiste à ajouter un code comme celui-ci à votre .vimrc:
function Private() " set of commands here endfunction
puis vous pouvez démarrer Vim dans un mode privé comme celui-ci:
vim -c 'call Private()'
Utilisez une variable pour déclencher la configuration de vos commandes
Elle est assez similaire à la deuxième solution. Ajoutez simplement
if exists('privatemode') " set of commands here endif
sur votre .vimrc, puis démarrez Vim en utilisant
vim -c 'let privatemode=1'
qui n'est ni intelligent ni court.
Ajoutez un alias à votre .bashrc (ou à tout autre fichier. * Rc que votre shell utilise)
Par exemple:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
ce qui est horrible. Je n'aime pas ça.
Utilisez une variable d'environnement
Il suffit d'exécuter
VIM_PRIVATE=1 vim
et d'ajouterif $VIM_PRIVATE " set of commands here endif
à votre .vimrc.
Un peu de magie (d'après un commentaire de Carpetsmoker dans ce fil )
Carpetsmoker dit dans ce commentaire que
Je ne recommanderais pas d'utiliser un fichier vimrc séparé, pour la simple raison> qu'il est si facile d'oublier. Quelque chose comme cet autocmd:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
devrait faire la magie pour vous, et il est impossible d'oublier.Cependant , j'ai aucune idée comment cette magie fonctionne encore .
Tu as une idée?
La solution parfaite serait vim -private
ou vim +Private
cependant:
- Je suis sûr que vous ne pouvez pas ajouter vos propres options de ligne de commande personnalisées comme
-private
. - en ce qui concerne
+Private
je n'ai pas pu le trouver en ligne.
vim -Nu .vimrcprivate
.
alias vimprivate='vim -u .vimrcprivate'
etc.
v:progname == "vimp"
et, si cela est vrai, à exécuter vos paramètres en mode privé. Tu vois :help v:progname
.
command! Private set history=0 nobackup secure ...
puis l'appeler à partir du shell avecvim +'Private'
. Concernant la dernière autocommande que vous avez mentionnée, quand un buffer est lu, il teste si la valeur de l''cryptmethod'
option, ou'cm'
pour la version courte, n'est pas vide. Cette option contrôle la méthode de chiffrement utilisée pour chiffrer le tampon lorsqu'il est écrit dans un fichier avec la commande Ex:X
. Si l'option n'est pas vide, la commande automatique définit différentes options.