Impedisci a Vim di registrare eventi per determinati tipi di file


12

Per aggiungere a questa domanda StackOverflow , cosa si dovrebbe inserire .vimrcper garantire la "modifica privata" di determinate estensioni di file (ad es. .gpgFile).

Senza compromettere l'efficacia della sessione, non è necessario salvare alcuna informazione sul lavoro svolto, inclusi registri, cronologia delle ricerche, cronologia dei comandi, visualizzazioni, scambi, ecc. Per i gpgfile, è possibile utilizzare questo plugin vim , ma oltre a modificarlo, come si estendono queste idee discusse a tipi di file arbitrari?

Probabilmente utilizzeremo i seguenti comandi,

if <ft in privacy_ext_list>
  set noswapfile
  set noundofile
  set viminfo=
endif 

ma oltre alla frase condizionale appropriata, cosa manca?

Inoltre, esiste un modo con Vimscript per creare una matrice di estensioni di file e quindi valutare se il tipo di file corrente è all'interno della matrice?


6
@Carpetsmoker Penso che questa domanda sia più ampia. L'autore non sta solo chiedendo come impostare i parametri in un buffer di un particolare tipo di file, ma in una certa misura quali parametri impostare per garantire la privacy. Questo non è certamente ovvio o raccolto insieme in un posto centrale, quindi penso che sia una buona domanda.
Andrew Ferrier,

Risposte:


6

Ecco l'elenco completo delle impostazioni che dovrebbero essere aggiunte al tuo .vimrcse vuoi prevenire qualsiasi perdita di file sensibili.

set nobackup
set nowritebackup
set noundofile
set noswapfile
set viminfo=""
set noshelltemp
set history=0
set nomodeline
set secure

Ti consiglio di creare un nuovo file di configurazione chiamato .vimrc_secureed eseguire Vim con vim -u ~/.vimrc_secure(o creare uno script / alias) quando vuoi modificare il tuo file sensibile. Ciò minimizzerà il rischio di un plug-in dannoso o di una funzione difettosa.


Mi piace questo nel senso che .vimrc_secureè indipendente dal .vimrc(come facendo come dici tu poi consenti all'utente di :e private file[mantenendo così il file anche fuori dalla cronologia della shell]), ma usando vim -u ~/.vimrc-incognitonon sarà affatto fonte ~/.vimrc, giusto? Le gioie della privacy non dovrebbero avere un costo in termini di comfort ridotto (a meno che il comfort non sia fondamentalmente imperfetto da plugin dannoso o funzionalità buggy). Mentre ci dovrebbe essere un'enfasi sul rischio di incognite, sicuramente, ci deve essere un modo per avvolgere condizionatamente la tua soluzione ...
HAL 9001,

1
Non consiglierei di usare un file vimrc separato, per la semplice ragione che è così facile da dimenticare. Qualcosa come questo autocmd: au BufRead * if &key != "" | setlocal nobackup noundofile ... | endifdovrebbe fare la magia per te ed è impossibile dimenticarlo.
Martin Tournoij,

@Carpetsmoker, di cosa si &l:cm != ""tratta?
Wildcard il

1
@Wildcard Ehm .... Sembra che volessi &cryptmethod, che si riferisce a quell'impostazione . La l:parte è stata un errore (ho usato i miei speciali poteri mod per modificare il mio commento). Grazie per la segnalazione!
Martin Tournoij,

@Carpetsmoker, potresti per favore approfondire il tuo commento? Ho creato una discussione qui: vi.stackexchange.com/questions/6195/…
Mateusz Piotrowski
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.