El comando para asignar a una tecla concreta una secuencia de comandos, es 0 0«:map0 0». En un fichero de configuración hay que usarlo sin los dos puntos iniciales.
Por ejemplo: el siguiente comando hace que al pulsar la tecla F5 la palabra sobre la que se encuentre el cursor sea rodeada de llaves:
0 0«:map <F5> gewi{<Esc>ea}<Esc>0 0»
Analicémosla con detenimiento:
En el ejemplo anterior la macro se ha asignado a una sola tecla. Podemos asignarla a más de una tecla, siendo muy normal el asignar comandos a la tecla \ seguida de algún carácter, en cuyo caso cuando queramos ejecutar el comando deberemos teclear ambas teclas con cierta rapidez para que Vim interprete que van juntas.
El comando 0 0«:map0 0» no seguido de ningún argumento lista las asociaciones de teclado establecidas por este procedimiento.
El comando ``:map'' se parece mucho a la grabación de comandos mediante el comando ``q'', aunque hay varias diferencias entre ellos. La más importante es que mientras el primero sobreescribe los comandos estándar de Vim, el segundo no lo hace, ya que un comando grabado con ``q'' nunca se asocia directamente a una tecla, sino a un registro que es llamado mediante el comando ``@''. Con esto quiero decir que mientras 0 0«:map Q gqap0 0» asocia directamente el comando ``gqap'' a la tecla ``Q'', de tal modo que el comando anteriormente asociado a dicha tecla se pierde, la secuencia 0 0«qQgqapq0 0» asocia la ejecución de ``gqap'' al comando ``@Q'', no a ``Q'' propiamente dicho.