A falta de ViEmu ( plugin de VS para usar el editor como el vim) curioseando en la instalación de gvim para windows me he encontrado con un fichero llamado vim_vs_net.cmd, que se supone sirve para editar con el vim como herramienta externa. Esta es una micro-guía para hacerlo funcionar y poder editar cómodamente con el vim en Visual Studio (.Net).

Dentro de nuestra instalación de GVim para windows hay un directorio llamado tools donde se encuentra el fichero vim_vs_net.cm que tendremos que modificar ya que por sí mismo no funciona (por lo menos a mi no me funcionaba). Copia el fichero a uno nuevo o modifícalo y déjalo así (haz lo que quieras con los comentarios):

start "Ejecutando vim..." "C:\Archivos de programa\Vim\vim63\gvim.exe"  --servername VS_NET --remote-silent "%1" "%2"

Cambia la ruta convenientemente en función de dónde tengas instalado el GVim. Ahora vamos al Visual Studio para añadir una nueva herramienta externa:

  • Herramientas -> Herramientas externas…
  • Agregar
  • Título: Edit with Vim
  • Comando: C:\Tu_ruta_del_vim\tools\vim_vs_net.cmd
  • Argumentos: +$(CurLine) $(ItemPath)
  • Marcamos la opción de Cerrar al salir

En el menú Herramientas aparece ahora una opción nueva titulada Edit with Vim que lanzará el vim con el fichero que actualmente estemos editando y además se irá a la linea en la que nos encontrábamos. No hace falta estar editando los ficheros realmente, también puedes marcalos en el explorador de soluciones y seleccionar la opción de Edit with Vim. El problema es que modificar un fichero hace que se queje el VS diciendo «quiere recargarlo?», además de que resulta incómodo tener que ir al menu para poder editar con nuestro querido vim, pero esto tiene fácil solución:

Hotkeys para lanzar el Vim:

  • Herramientas -> Personalizar
  • Volvemos al menu Herramientas y nos fijamos que número de herramienta externa nos ha colocado el vim (o contamos), en mi caso es el Commando externo 7.
  • En el diálogo Personalizar pulsamos en el botón de Teclado…
  • Creamos una Combinación de asignación de teclado nueva presionando sobre Guardar como…
  • Buscamos en el campo de comandos comandoexterno7 (7 en mi caso) y nos situamos sobre la casilla de Téclas de método abreviado
  • Presionamos la combinación de teclas que queramos asignalres por ejemplo Alt+Enter y Asignamos
  • Aceptar

De esta forma mapearemos el Vim a una combinación de teclas.

Auto-Recarga del fichero en el VS:

  • Herramientas->Opciones
  • En la pestaña de Entorno->Documentos
  • Marcamos la opción: Detectar si se modifica el archivo fuera del entorno
  • Marcamos la opción: Cargar los cambios automáticamente(…)

De esta forma el VS no se quejará cada vez que cambiemos algo en el vim y lo cargará automáticamente.

A disfrutar programando… aunque tenga que ser en windows, pero mejor con el VIM!!!