Quiero poder iniciar Vim fácilmente en un modo privado. Definamos un modo privado como uno 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=""
Avíseme si puede pensar en algún comando adicional adecuado para el modo privado.
El punto es que no puedo pensar en ninguna forma corta y fácil de iniciar Vim con esta configuración.
Aquí hay algunas ideas que se me ocurrieron:
Cargue .vimrcprivate en lugar de .vimrc
Simplemente puede poner todos los comandos necesarios en .vimrcprivate e iniciar Vim de esta manera:
vim -u .vimrcprivate
Definir y llamar a una
Private()
función.Otra idea agrega un código como este a tu .vimrc:
function Private() " set of commands here endfunction
y luego puedes iniciar Vim en un modo privado como este:
vim -c 'call Private()'
Use una variable para activar la configuración de sus comandos
Es bastante similar a la segunda solución. Solo agrega
if exists('privatemode') " set of commands here endif
a su .vimrc y luego inicie Vim usando
vim -c 'let privatemode=1'
que no es inteligente ni corto.
Agregue un alias a su .bashrc (o a cualquier otro archivo. * Rc que esté usando su shell)
Por ejemplo:
alias vimprivate="vim +\"set history=0\" +\"set nobackup\" +\"set nomodeline\"\ +\"set noshelltemp\" +\"set noswapfile\" +\"set noundofile\"\ +\"set nowritebackup\" +\"set secure\" +\"set viminfo=\"\"\""
lo cual es horrible No me gusta
Use una variable ambiental
Solo corre
VIM_PRIVATE=1 vim
y agregaif $VIM_PRIVATE " set of commands here endif
a tu .vimrc.
Algo de magia (de un comentario de Carpetsmoker en este hilo )
Carpetsmoker dice en este comentario que
No recomendaría usar un archivo vimrc separado, por la simple razón de que es tan fácil de olvidar. Algo así como este autocmd:
au BufRead * if &cryptmethod != "" | setlocal nobackup noundofile ... | endif
debería hacer la magia por ti, y es imposible de olvidar.Sin embargo, todavía no tengo idea de cómo funciona esta magia .
¿Tiene usted alguna idea?
La solución perfecta sería vim -private
o vim +Private
sin embargo:
- Estoy bastante seguro de que no puede agregar sus propias opciones de línea de comandos personalizadas como
-private
. - cuando se trata de no
+Private
pude encontrarlo en línea.
vim -Nu .vimrcprivate
.
alias vimprivate='vim -u .vimrcprivate'
etc.
v:progname == "vimp"
y, si es verdadero, ejecutar la configuración de modo privado. Ver :help v:progname
.
command! Private set history=0 nobackup secure ...
y luego llamarlo desde el shell convim +'Private'
. Con respecto al último autocomando que mencionó, cuando se lee un búfer, prueba si el valor de la'cryptmethod'
opción, o'cm'
para la versión corta, no está vacío. Esta opción controla el método de cifrado utilizado para cifrar el búfer cuando se escribe en un archivo con el comando Ex:X
. Si la opción no está vacía, el comando automático configura varias opciones.