Cualquier forma de proporcionar un archivo vimrc separado solo para 1 sesión

Cualquier forma de proporcionar un archivo vimrc separado solo para 1 sesión

Me gustaría saber si hay alguna forma en vim/vi de proporcionar un archivo vimrc diferente. Estoy pensando en administrar 2 archivos vimrc diferentes. Para los contenidos que reviso/registro en el control de versiones, quiero usar un conjunto diferente de comandos y no el normal en mi .vimrcarchivo.

Por ejemplo.

Mi .vimrcarchivo contiene un comando para eliminar automáticamente cualquier espacio final al guardar un archivo. Pero no quiero que esta función se active para archivos específicos.

Entonces, ¿hay alguna forma de proporcionar un archivo vimrc diferente (tal vez en la línea de comando, dándole como parámetro cada vez como vim --vimrc=somefile file-to-open)?

Respuesta1

Ver la página de manual:

-u {vimrc} Utilice los comandos del archivo {vimrc} para las inicializaciones. Se omiten todas las demás inicializaciones. Utilícelo para editar un tipo especial de archivos. También se puede utilizar para omitir todas las inicializaciones dando el nombre "NINGUNO". Consulte ": inicialización de ayuda" dentro de vim para obtener más detalles.

Respuesta2

Entonces, ¿hay alguna forma de proporcionar un archivo vimrc diferente (tal vez en la línea de comando, dándole como parámetro cada vez como vim --vimrc=somefile file-to-open)?

Sí, use el -uparámetro:

vim -u ~/.my-custom-vimrc

De man vim:

   -u {vimrc}  Use  the  commands in the file {vimrc} for initializations.
               All the other initializations are  skipped.   Use  this  to
               edit  a special kind of files.  It can also be used to skip
               all initializations by giving the name "NONE".  See  ":help
               initialization" within vim for more details.

Mi archivo .vimrc contiene un comando para eliminar automáticamente cualquier espacio final al guardar un archivo. Pero no quiero que esta función se active para archivos específicos.

Existe una solución diferente si necesita un manejo especial para algunos tipos de archivos conocidos; use el autocmdcomando en su vimrc. Por ejemplo, esta es mi configuración dependiente del tipo de archivo:

" Mapping of filetypes to options
au FileType freerad      setl noexpandtab sts=0 sw=8
au FileType make         setl noexpandtab sts=0
au FileType php          let php_sql_query=1
au FileType php          let php_htmlInStrings=1
au FileType python       setl shiftwidth=2 expandtab
au FileType sql          setl noexpandtab sts=0 sw=8
" global options I do not want any filetype to override
au FileType *            setl formatoptions-=ro " don't continue comments

Si necesita aplicar opciones a algo a lo que vim no asigna automáticamente un determinado tipo de archivo, puede agregar su propia asignación (hágalo antes de usar el autocmdcomando):

" mapping of filenames to filetypes
au FileReadPost,BufReadPost,BufNewFile /etc/freeradius/* setl ft=freerad
au FileReadPost,BufReadPost,BufNewFile *.xt              setl ft=xt

Respuesta3

También puede set exrcen su .vimrc principal hacer que vim cargue un .vimrc desde el directorio actual automáticamente.

Respuesta4

Si almacena su directorio de configuración de Vim en Git (eso espero), puede usar diferentes ramas y realizar el pago entre ellas.

información relacionada