Quero poder iniciar facilmente o Vim em modo privado. Vamos definir um modo privado como aquele que utiliza este conjunto de comandos:
set history=0
set nobackup
set nomodeline
set noshelltemp
set noswapfile
set noundofile
set nowritebackup
set secure
set viminfo=""
Deixe-me saber se você pode pensar em algum comando adicional adequado para o modo privado.
O ponto é que não consigo pensar em nenhuma maneira curta e fácil de iniciar o Vim com essa configuração.
Aqui estão algumas idéias que eu tenho:
Carregue .vimrcprivate em vez de .vimrc
Você pode simplesmente colocar todos os comandos necessários em .vimrcprivate e iniciar o Vim assim:
vim -u .vimrcprivate
Definir e chamar uma
Private()
funçãoOutra idéia: adicione um código como este ao seu .vimrc:
function Private() " set of commands here endfunction
e então você poderá iniciar o Vim em um modo privado como este:
vim -c 'call Private()'
Use uma variável para acionar a configuração de seus comandos
É bastante semelhante à segunda solução. Basta adicionar
if exists('privatemode') " set of commands here endif
ao seu .vimrc e inicie o Vim usando
vim -c 'let privatemode=1'
o que não é inteligente nem curto.
Adicione um alias ao seu .bashrc (ou a qualquer outro arquivo. * Rc que seu shell esteja usando)
Por exemplo:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
o que é horrível. Eu não gosto disso
Use uma variável ambiental
Basta executar
VIM_PRIVATE=1 vim
e adicionarif $VIM_PRIVATE " set of commands here endif
para o seu .vimrc.
Alguns magia (de um comentário por Carpetsmoker em esta discussão )
Carpetsmoker diz neste comentário que
Eu não recomendaria o uso de um arquivo vimrc separado, pelo simples motivo> de que é tão fácil esquecer. Algo como este autocmd:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
deve fazer a mágica para você e é impossível esquecer.No entanto, eu não tenho idéia de como essa mágica funciona ainda .
Você tem alguma ideia?
A solução perfeita seria vim -private
ou, vim +Private
no entanto:
- Tenho certeza que você não pode adicionar suas próprias opções de linha de comando personalizadas, como
-private
. - quando se trata,
+Private
não consegui encontrá-lo online.
vim -Nu .vimrcprivate
.
alias vimprivate='vim -u .vimrcprivate'
etc.
v:progname == "vimp"
e, se verdadeiro, executar as configurações do modo privado. Veja :help v:progname
.
command! Private set history=0 nobackup secure ...
e depois chamá-lo a partir do shell comvim +'Private'
. Em relação ao último comando automático que você mencionou, quando um buffer é lido, ele testa se o valor da'cryptmethod'
opção ou'cm'
da versão curta não está vazio. Esta opção controla o método de criptografia usado para criptografar o buffer quando ele é gravado em um arquivo com o comando Ex:X
. Se a opção não estiver vazia, o comando automático configurará várias opções.