Para adicionar a esta questão de stackoverflow , o que se deve colocar .vimrc
para garantir a "edição privada" de determinadas extensões de arquivo (por exemplo, .gpg
arquivos).
Sem comprometer a eficácia da sessão, nenhuma informação sobre o trabalho realizado deve ser salva, incluindo registros, histórico de pesquisa, histórico de comandos, visualizações, trocas, etc. Para gpg
arquivos, é possível usar este plugin vim , mas além de editar o plugin, como um estender essas idéias discutidas para tipos de arquivos arbitrários?
Provavelmente, usaremos os seguintes comandos,
if <ft in privacy_ext_list>
set noswapfile
set noundofile
set viminfo=
endif
mas, além da declaração condicional apropriada, o que está faltando?
Além disso, existe uma maneira com o Vimscript criar uma matriz de extensões de arquivo e avaliar se o tipo de arquivo atual está dentro da matriz?
Respostas:
Aqui está a lista completa de configurações que devem ser adicionadas ao seu,
.vimrc
se você deseja evitar qualquer vazamento de arquivos confidenciais.Eu recomendo que você crie um novo arquivo de configuração chamado
.vimrc_secure
e execute o Vim comvim -u ~/.vimrc_secure
(ou crie um script / alias) quando desejar editar seu arquivo confidencial. Isso minimizará o risco de um plug-in malicioso ou um recurso de buggy.fonte
.vimrc_secure
é independente do.vimrc
(como fazer o que você diz então permite ao usuário:e private file
[manter o arquivo fora do histórico do shell também]), mas o usovim -u ~/.vimrc-incognito
não será de origem~/.vimrc
, correto? As alegrias da privacidade não devem custar menos conforto (a menos que o conforto seja fundamentalmente defeituoso por meio de plug-in malicioso ou recurso de buggy). Enquanto deve haver uma ênfase no risco de incógnitas, certamente, deve haver alguma maneira de envolvê condicionalmente sua solução ...au BufRead * if &key != "" | setlocal nobackup noundofile ... | endif
deve fazer a mágica para você e é impossível esquecer.&l:cm != ""
tudo?&cryptmethod
, que se refere a essa configuração. Al:
parte foi um erro (usei meus poderes especiais de modificação para editar meu comentário). Obrigado por apontar isso!