618 - VSCode, atajos de teclado y Vim
Los atajos de teclado son fundamentales para ser mas productivos en #vscode y para ello me he decantado por utilizar #vim dentro de este editor
Hace un par de episodios del podcast te hablé de que quería aprender a usar VSCode con sus atajos de teclado. Durante estos últimos días he estado trabajando en ello. Y el objetivo principal era conseguir una fluidez a la hora de escribir y modificar código similar a la que tengo con Vim. Y me refiero a Vim, no tanto como editor sino como lenguaje. Y finalmente he llegado a la conclusión de que esto no iba a ser posible. Si que me puedo aproximar, pero, todavía no he encontrado la forma de llegar a esa fluidez. Así, en este episodio te cuento que es lo que he probado, donde me he quedado y cuales son las razones para quedarme con la solución actual.
VSCode, atajos de teclado y Vim
Sobre los atajos de teclado de VSCode
Como te decía en la introducción, en esta búsqueda por intentar mejorar mi productividad con VSCode, el primer paso ha sido estudiar y aprender los atajos de teclado propios de VSCode. La cuestión era buscar una fluidez similar a la que tengo con Vim actualmente. Así, era necesario tener atajos que me permitieran moverme con facilidad por el código, pasando de palabra en palabra, de línea en línea, de bloque en bloque, etc. Y también necesitaba atajos para copiar, pegar, borrar, etc. Y, por supuesto, atajos para buscar y reemplazar.
Por supuesto, todo esto se centra en no tener la necesidad de utilizar el ratón para nada, mientras estoy editando. Incluso, para cambiar entre ventana y ventana, o entre pestañas, o entre paneles, etc.
Iba en el camino correcto cuando descubrí Ctrl+D
, que me permite seleccionar una palabra, y algunos atajos de teclado, que me permitían saltar de palabra en palabra, o moverme a lo largo de una línea, o seleccionar bloques de código, etc. Pero, en cuanto me metía en la edición de un archivo, me daba cuenta de que me faltaban atajos de teclado para moverme por el código de una forma más eficiente.
Lo siguiente era moverme entre líneas de forma eficaz. Moverme al igual que lo hacía en Vim. Por ejemplo, saltando 10 líneas hacia arriba o hacia abajo. Para esto ya era necesario, el uso de extensiones. La extensión que encontré solo me permitía moverme un número fijo de líneas. Y si bien, esa número fijo era configurable, desde luego que distaba mucho de la fluidez que tengo con Vim.
Así después de ver que no conseguía los mismos movimientos, comencé a añadir nuevos atajos de teclado, hasta que caí en la cuenta, de que alguien ya lo habría hecho antes que yo. Y efectivamente así era.
Añadir atajos de teclado para simular Vim
La mayor parte de las veces se me olvida, que cualquier cosa que se me ocurra, ya se la ha ocurrido a alguien antes que a mi, con lo que la no se trata de reinventar la rueda si no de buscar mi ocurrencia a lo largo y ancho de la red. En este sentido he encontrado distintas opciones, desde añadir a mano los atajos de teclado similares a los de Vim a utilizar un complemento.
Yo me decanté por supuesto por añadir a mano los atajos de teclado, pero, en su lugar te recomiendo esta extensión VS Code Semi-Vim Shortcuts. Además puedes dar un vistazo a un artículo en el blog de Babak K. Shandiz, donde te cuenta mas o menos lo mismo que te estoy contando yo.
Al final, se trata de una extensión que imita únicamente los atajos de teclado. Sin embargo, Vim, no es solo atajos de teclado, va mas allá, y si bien, esto te lo comentaré mas adelante, si que es algo que tengo que indicar para explicar un poco mi razonamiento.
Llegados a este punto me di cuenta que me encontraba en lo peor de los dos mundos. Por un lado tenía que aprender nuevos atajos de teclado, atajos de teclado que no son estándar, pero por otro lado, estos nuevos atajo de teclado tendrían incompatibilidades con los propios de VSCode. Este no era el camino.
Instalar Vim en VSCode
Finalmente y después de darle muchas vueltas, recapacité. Me di cuenta que actualmente estaba buscando una quimera. Que tenía que sacar el máximo rendimiento a lo que había aprendido de Vim, y exprimir el potencial de VSCode. Así que, me decidí a instalar Vim en VSCode.
Para instalar la Extensión de Vim en VSCode, utiliza el atajo de teclado para la apertura rápida Ctrl+P
y pega ext install vscodevim.vim
. Con esto la tendrás instalado Vim en tu VSCode.
Vim mas allá de editor
Vim es un editor de texto, pero, también es un lenguaje. Un lenguaje que te permite moverte por el código de una forma muy eficiente. Y, si bien, VSCode tiene atajos de teclado, estos no son suficientes para moverte por el código de una forma eficiente. Por otro lado, Vim, no solo te permite moverte por el código de una forma eficiente, si no que te permite hacer muchas cosas mas. Y, si bien, VSCode tiene extensiones, estas no son suficientes para hacer todo lo que puedes hacer con Vim.
En el tutorial de vim, que puedes encontrar en atareao.es, te hablo sobre el lenguaje de Vim, y la importancia del mismo para evitar memorizar cientos de atajos de teclado, que no solo te permiten moverte por el texto, sino que también te permiten editar y modificar el texto de forma eficiente.
Incompatibilidad entre Vim y VSCode
Con esto no he quitado el problema que ya tenía con VSCode y Vim. Existen determinados atajos de teclado que actualmente se solapan entre VSCode y Vim. Sin embargo, la solución por la que me he decantado es reemplazar estos atajos de teclado en VSCode para que prevalezcan los de Vim. Y además de esto, he añadido otros complementarios para acceder a determinadas funcionalidades de VSCode desde el modo normal de Vim dentro de VSCode.
Por ejemplo, puedo acceder directamente al explorador de archivos desde el modo normal de Vim, utilizando el atajo de teclado <leader>e
.
Además he realizado algunos cambios en la configuración de Vim en VSCode, para que me permita realizar un reslatado mientras realizo una copia,
"vim.highlightedyank.enable": true,
"vim.highlightedyank.color": "#a9dc7660",
"vim.highlightedyank.duration": 450,
Desde luego, que utilizar Vim en VSCode no es tan sencillo como instalar la extensión y listo. En particular, me ha gustado un artículo que he leído en referencia esto titulado Vscode-Vim setup – It’s not as easy as you think, que explica algunos detalles respecto a esto. Sin embargo, el autor del artículo, toma un camino ligeramente distinto al que yo he tomado.
Conclusión
Después de esto, tengo claro que la mejor opción para trabajar en VSCode es utilizar la Vim. Mira que lo he intentado, pero a pesar de todas las opciones que ofrece VSCode, lo cierto es que no con todo y con eso, se queda muy lejos del potencial que ofrece Vim a la hora de editar y modificar archivos. Es realmente impresionante.
Por otro lado, hay que tener en cuenta que la curva de aprendizaje de Vim es importante, ya que no es tan fácil de aprender. Sin embargo, una vez que lo has aprendido, es imprescindible exprimirla al máximo.
Más información,