Sabemos desde el principio de estas conversaciones que en el mundo de HAL las configuraciones permanentes se guardan en ficheros de texto, que las configuraciones globales residen en el directorio
/etc
y que las configuraciones de usuario se establecen en un fichero dentro de su home
. Vim no podía ser menos. La ruta del fichero de configuración global es /etc/vim/vimrc
. Todo usuario puede, además, crear su propio fichero de configuración .vimrc
y añadir nuevas configuraciones o sobrescribir las existentes en el vimrc
del sistema.Así pues, nuestra única tarea pendiente es recopilar las configuraciones que hemos ido estudiando los días pasados, incluidas las asociaciones de teclado, y escribirlas en nuestro
.vimrc
particular. Añadiremos, además, los oportunos comentarios para facilitar la localización y comprensión futura de las opciones establecidas. [El signo de apertura de comentario para el fichero vimrc
no es la habitual almohadilla (#
), sino la comilla doble ("
)].Utilizaremos, cómo no, el propio Vim para editar nuestro fichero de configuración:
vim ~/.vimrc
" ========================================================
" -- ~/.vimrc: Fichero de configuración personal de Vim --
" -- (átopos, 06/03/09) --
" ========================================================
" -- OPCIONES GENERALES --
" Activa resaltado de sintaxis
syntax on
" Selecciona esquema de color 'zellner'
colorscheme zellner
" Introduce salto de línea automático según el ancho del terminal
set wrapmargin=7
" -- ASOCIACIONES DE TECLADO --
" La tecal F2 muestra/oculta números de líneas
map <F2> <Esc>:set invnumber<CR>
" La tecla F3 muestra/oculta caracteres no imprimibles
map <F3> <Esc>:set invlist listchars=eol:$,tab:>-,trail:-<CR>
" La tecla F7 abre el corrector ortográfico
map <F7> <Esc>:w<CR>:!aspell -c % -l es<CR>:e! %<CR>
" La tecla F10 muestra una vista previa de impresión
map <silent> <F10> <Esc>:hardcopy > vim_preview.ps<CR>:silent !okular vim_preview.ps<CR>:silent !rm vim_preview.ps<CR>
Este fichero define, en unos pocos casos, órdenes ligeramente distintas a las creadas y explicadas en los artículos a los que apuntan sus enlaces.
La primera y más importante diferencia es que ya no es necesario anteponer el carácter de dos puntos al inicio de la orden. Vim lo presupone en todas las órdenes que se incluyen en
.vimrc
.En segundo lugar, se ha procurado que las teclas de función en las asociaciones de teclado estén organizadas de un modo más inteligente, por ejemplo, para que no podamos pulsar por error la tecla de revisión ortográfica cuando el objetivo es activar los números de líneas. Separar suficientemente teclas tan diferentes en su función y comportamiento hace que la interfaz sea más cómoda de usar. Por otra parte, las teclas
F7
y F10
emulan los atajos que proporciona OpenOffice Writer para las mismas funciones asociadas.En tercer lugar, se ha propuesto un esquema de color de ejemplo. El usuario debería seleccionar el suyo de acuerdo a sus gustos, o no establecer ninguno en concreto y confiar en el esquema de color que por defecto activa Vim.
Finalmente, se ha añadido una asociación de teclado para la vista previa de impresión, no comentada en el artículo correspondiente. El lector debería ser capaz de entender por sí mismo todo su contenido salvo las expresiones
silent
:
:map <silent> <F10> <Esc>:hardcopy > vim_preview.ps<CR>:silent !okular vim_preview.ps<CR>:silent !rm vim_preview.ps<CR>
La primera de ellas (
<silent>
) evita que el nombre de la orden asociada aparezca en la barra de estado al ejecutarse. Las otras dos, antepuestas a las llamadas a órdenes externas de HAL, silencian los mensajes que tales órdenes emiten y que se muestran normalmente en la barra de estado. (Semejantes expresiones pueden utilizarse igualmente en el resto de asociaciones según conveniencia del lector.)Puede ser útil, antes de terminar, abarcar en un sólo golpe de vista los menús del procesador de textos tal como han sido expuestos en estos artículo ---teniendo en cuenta, además, la configuración inicial que acabamos de establecer--- y resumir las órdenes o asociaciones de teclado que corresponderán en nuestra configuración de Vim a las funciones características de esos menús. [Cuando haya varias órdenes relacionadas con una misma función, se presentan en líneas distintas; si hay muchas, se incluyen sólo algunas (las más fáciles de aprender, quizá, para un principiante). Cuando hay órdenes equivalentes se da sólo una de ellas]:
Archivo | |||
Nuevo | vim nuevo_fichero | ||
Abrir | vim ruta_fichero | ||
Cerrar | :wq | Guarda cambios y cierra | |
:q! | Cierra sin guardar cambios | ||
Guardar | :w | ||
Guardar como | :saveas fichero | [Ver primer comentario a HAL y vim (II)] | |
Imprimir | :hardcopy | Envía a impresora | |
F10 | Vista previa | ||
Edición | |||
Deshacer | u | ||
Restaurar | Ctrl+R | ||
Repetir última orden | . | ||
Cortar | x | Corta un carácter | |
dw | Corta una palabra | ||
dd | Corta una línea | ||
Copiar | yw | Copia una palabra | |
yy | Copia una línea | ||
Pegar | p | ||
Seleccionar texto | v | Modo visual | |
Buscar y remplazar | :%s/pat/rem/gc | Sustituye 'pat' por 'rem' en todo el documento | |
Ver | |||
Fuente |
| [Configurada en terminal] | |
Colores |
| [Configurados en '.vimrc'] | |
Barra de estado |
| [Activada por defecto] | |
Número de líneas | F2 | ||
Caracteres no imprimibles | F3 | ||
Ajustar texto |
| [Configurado en '.vimrc'] | |
gqG | Ajusta líneas en todo el documento | ||
Herramientas | |||
Corrección ortográfica | F7 | ||
Ordenar | :n,m sort | Ordena alfabéticamente las líneas de la n a la m, inclusives | |
Mayúsculas | ~ | Pone carácter en mayúscula | |
gUw | Pone palabra en mayúsculas | ||
gUU | Pone línea en mayúsculas | ||
Minúsculas | ~ | Pone carácter en minúscula | |
guw | Pone palabra en minúsculas | ||
guu | Pone línea en minúsculas |
Esta tabla de relaciones, junto con el fichero .vimrc propuesto hoy y la tabla de órdenes de movimiento e inserción directa expuesta en este otro artículo constituyen una tríada de herramientas iniciales que permiten, cuando menos, realizar las misma operaciones básicas de edición que con un procesador de textos. Es un primer paso para ir alejándose progresivamente de la influencia del procesador de textos y poder disfrutar de las bondades de un editor hecho y derecho.
Al principiante le bastará con memorizar todas las órdenes citadas en la tabla de hoy y adquirir destreza con algunas de las órdenes de movimiento e inserción propuestas días pasados para ir ganando confianza con Vim. Comprenderá poco a poco como su fichero de configuración puede ir adaptándose de un modo cada vez más preciso a sus necesidades y dejará de establecer comparaciones entre Vim y los procesadores de textos. Este será el momento de aventurarse por su cuenta en el verdadero mundo de Vim, en su mina de oro, en el esplendor del "palacio del enano" del que nosotros sólo hemos entrevisto un muy lejano destello.
No hay comentarios:
Publicar un comentario