
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 .vimrc
archivo.
Por ejemplo.
Mi .vimrc
archivo 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 -u
pará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 autocmd
comando 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 autocmd
comando):
" 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 exrc
en 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.