Cada vez que Vim arranca lee un fichero llamado 0 0«vimrc0 0» ubicado en el directorio de instalación de Vim (normalmente /usr/share/vim), y otro llamado 0 0«~/.vimrc0 0»12.17, ubicado en el directorio personal del usuario. El primero contiene la que podríamos llamar ``configuración general de Vim'', para todos los usuarios del sistema, y el segundo la configuración personal de Vim para cada usuario.
Estos ficheros son scripts de Vim, es decir: contienen comandos que son ejecutados en el inicio de Vim. En ellos podemos incluir cualquier comando ejecutable de línea de comandos de Vim (los que empiezan por los dos puntos), aunque, como es normal, sólo se suelen incluir los comandos que afectan en general al comportamiento de Vim, y no los que actúan sobre un buffer de edición, porque en el momento en el que estos comandos son leídos no hay ningún buffer activo.
Téngase en cuenta además que los dos puntos de los comandos de Vim son sólo para decirle a Vim que vamos a introducir un comando de línea de comandos. Por lo tanto en los ficheros de inicialización son inútiles y no hay que usarlos. Es decir: en ellos podemos poner cualquier orden que podríamos ejecutar en Vim precedida de dos puntos, pero sin los dos puntos.
También es posible incluir comentarios en estos ficheros. El símbolo de los comentarios son las comillas: Vim ignorará toda la línea desde que encuentre el carácter " hasta el final.
Como ejemplo de ese tipo de ficheros, nada mejor que incluir mi propio fichero .vimrc: ahí va:
" FUNCIONAMIENTO GENERAL set nocompatible " Activar modo de no compatibilidad con Vi set ttyfast " Terminal rápido set noerrorbells " Evita los pitidos en caso de error set novisualbell " Evita advertencias visuales de los errores set helplang=es " Idioma para la ayuda y mensajes set history=50 " Tamaño del historial de comandos set autochdir " El directorio activo es el del fichero abierto " VISUALIZACIÓN set ruler " Activa la regla inferior set showmode " Activa la indicación de modos set showcmd " Activa la indicación de comandos syntax enable " Coloreado de sintaxis set nonumber " No mostrar números de línea set showmatch " Cuando se cierran paréntesis, llaves o corchetes " muestra con qué carácter coinciden. " SANGRADO, SALTOS DE LÍNEA Y TABULADORES set nowrap " Las líneas anchas no se ven enteras set tabstop=8 " Mantiene para tabstop su valor por defecto set softtabstop=3 " Saltos blandos de tabulador. Es decir: los " espacios en blanco a insertar cada vez que se " pulse la tecla TAB. set shiftwidth=3 " Tamaño para sangrado con los comandos <, > set expandtab " El tabulador no inserta verdaderas tabulaciones " sino espacios en blanco (al modo de Emacs) set textwidth=75 " Ancho de línea set autoindent " Respetar automáticamente el sangrado de la " línea precedente set backspace=2 " Funcionamiento de la tecla retro runtime macros/justify.vim " Carga el paquete justify que habilita el " comando _j para justificar texto " BÚSQUEDAS set hlsearch " Iluminar todas las apariciones de la cadena " buscada set ignorecase smartcase " Ignorar mayúsculas y minúsculas salvo si se " usan mayúsculas en la cadena de búsqueda set incsearch " Búsqueda incremental. La añoro de mis tiempos " con Emacs. " COMANDOS PROPIOS Y ABREVIATURAS map <F3> gqap{vap_j} " Justifica un párrafo
Se verá que hay varios comandos, la mayoría de los cuales se explican en algún lugar de esta guía. En realidad gran parte de estos comandos están en el fichero vimrc general del sistema. En el personal sólo deberían estar aquellos que modifican para cada usuario dicho funcionamiento global. Aun así he incluido alguno de los comandos más corrientes, por si algún lector ha instalado un Vim ``a pelo'' de tal manera que carece absolutamente de fichero de configuración.