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 .vimrcprivateDefinir e chamar uma
Private()funçãoOutra idéia: adicione um código como este ao seu .vimrc:
function Private() " set of commands here endfunctione 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 endifao 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 vime adicionarif $VIM_PRIVATE " set of commands here endifpara 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 ... | endifdeve 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 -privateou, vim +Privateno entanto:
- Tenho certeza que você não pode adicionar suas próprias opções de linha de comando personalizadas, como
-private. - quando se trata,
+Privatenã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.