Evitar que Vim grabe eventos para ciertos tipos de archivos


12

Para agregar a esta pregunta de stackoverflow , ¿qué se debe poner en su .vimrcpara garantizar la 'edición privada' de ciertas extensiones de archivo (por ejemplo, .gpgarchivos).

Sin comprometer la efectividad de la sesión, no se debe guardar información sobre el trabajo realizado, incluidos los registros, el historial de búsqueda, el historial de comandos, las vistas, los swaps, etc. Para los gpgarchivos, se puede usar este complemento vim , pero además de editar el complemento, ¿cómo ¿Se pueden extender estas ideas discutidas a tipos de archivos arbitrarios?

Probablemente haremos uso de los siguientes comandos,

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

pero además de la declaración condicional apropiada, ¿qué falta?

Además, ¿hay alguna manera con Vimscript para hacer una matriz de extensiones de archivo y luego evaluar si el tipo de archivo actual está dentro de la matriz?


66
@Carpetsmoker Creo que esta pregunta es más amplia. El autor no solo pregunta cómo establecer parámetros en un búfer de un tipo de archivo en particular, sino en cierta medida qué parámetros establecer para garantizar la privacidad. Ciertamente, eso no es obvio ni se reúne en un lugar central, por lo que creo que es una buena pregunta.
Andrew Ferrier

Respuestas:


6

Aquí está la lista completa de configuraciones que debe agregar a su .vimrcsi desea evitar cualquier fuga de archivos confidenciales.

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

Le recomiendo que cree un nuevo archivo de configuración llamado .vimrc_securey ejecute Vim con vim -u ~/.vimrc_secure(o cree un script / alias) cuando desee editar su archivo confidencial. Esto minimizará el riesgo de un complemento malicioso o una característica defectuosa.


Me gusta esto en el sentido de que .vimrc_securees independiente de .vimrc(ya que hacer lo que dices le permite al usuario :e private file[mantener así el archivo fuera del historial del shell también]), pero el uso vim -u ~/.vimrc-incognitono será fuente ~/.vimrcen absoluto, ¿correcto? Las alegrías de la privacidad no deberían tener el costo de una comodidad reducida (a menos que la comodidad sea fundamentalmente defectuosa a través de un complemento malicioso o una función con errores). Si bien debe haber un énfasis en el riesgo de incógnitas, seguramente, debe haber alguna forma de envolver condicionalmente su solución ...
HAL 9001

1
No recomendaría usar un archivo vimrc separado, por la sencilla razón de que es tan fácil de olvidar. Algo como este autocmd: au BufRead * if &key != "" | setlocal nobackup noundofile ... | endifdebería hacer la magia por ti, y es imposible de olvidar.
Martin Tournoij

@Carpetsmoker, ¿de qué se trata &l:cm != ""todo esto?
Comodín el

1
@Wildcard Ehm ... Parece lo que pretendía &cryptmethod, que se refiere a esa configuración. La l:parte fue un error (usé mis poderes mod especiales para editar mi comentario). ¡Gracias por señalar eso!
Martin Tournoij

@Carpetsmoker, ¿podría explicar su comentario? He creado un hilo aquí: vi.stackexchange.com/questions/6195/…
Mateusz Piotrowski el
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.