Corrección ortográfica y plantillas en Neovim

Neovim

Este es uno de los capítulos del tutorial Neovim. Encontrarás los enlaces a todos los de capítulos, al final de este artículo.

Actualmente estoy utilizando Neovim, entre otras cosas, para escribir los artículos que publico en atareao.es, los libros que recopilan los distintos tutoriales, los guiones de los podcast y de los vídeos. En este sentido Neovim, es una herramienta fundamental, y ha supuesto un antes y un después en lo que a mi producción literaria, por así llamarlo, se refiere. Pero, por supuesto, para poder hacer esto, y hacerlo con un mínimo de dignidad, me hacía falta un corrector ortográfico. Además, por supuesto, también lo utilizo para implementar scripts o desarrollar aplicaciones, con lo que también necesito, tener preparado parte del encabezado que acompaña a cada uno de esos elementos, y para esto utilizo plantillas. Así, en este artículo te quiero mostrar como puedes utilizar la corrección ortográfica y plantillas en Neovim.

Corrección ortográfica y plantillas en Neovim

Corrección ortográfica y plantillas en Neovim

Corrección ortográfica

En mi caso, la corrección ortográfica solo la tengo activada para los archivos markdown, entre otras cosas, porque la corrección ortográfica en un archivo de código puede ser una auténtica locura, o por lo menos así me lo parece. No es bastante con que tengas errores en el código, que el analizador de código descubra, determinados fallos, para que además te corrija. Mas en mi caso, que normalmente suelo utilizar el inglés como lenguaje para escribir las variables, etc.

Así, la parte de mi configuración que me facilita tener la corrección autográfica en Neovim, se limita a estas pocas líneas,

-- spell
exec ([[
    augroup markdownSpell
        autocmd!
        autocmd FileType markdown setlocal spell spelllang=es
        autocmd BufRead,BufNewFile *.md setlocal spell spelllang=es
    augroup END
  ]], false)

Plantillas

Por otro lado, y tal y como indico en la introducción, el otro elemento que utilizo, en este caso para el código que implemento, son las plantillas. Estas plantillas básicamente, y actualmente, se ciñen a los encabezados de cada uno de los archivos de código. Normalmente indican la autoría, el año y la licencia. Así como en el caso de que se trata de un script en Bash, también aparecerá el shebang.

De esta forma, la parte de la configuración que utilizo para la parte delas plantillas, es la siguiente,

-- templates
exec([[
  augroup templates
      au!
      let g:template_name = 'Lorenzo Carbonell <a.k.a. atareao>'
      autocmd BufNewFile *.* silent! execute '0r $HOME/.config/nvim/templates/'.expand("<afile>:e").'.tpl'
      autocmd BufNewFile * %s/{{YEAR}}/\=strftime('%Y')/ge
      autocmd BufNewFile * %s/{{NAME}}/\=template_name/ge
      autocmd BufNewFile * %s/{{EVAL\s*\([^}]*\)}}/\=eval(submatch(1))/ge
  augroup END
]], false)

Si te fijas, aquí indico la dirección en la que se encuentran las plantillas, que en mi caso es $HOME/.config/templates/. Para identificar la plantilla, lo que hago es poner la extensión del lenguaje de programación seguido de la extensión .tpl. De esta manera quedaría de esta forma,

  • Python => py.tpl
  • Bash => sh.tpl
  • Rust => sh.tpl
  • JavaScript => js.tpl

Dentro del archivo, por ejemplo py.tpl, encontrarás lo siguiente,

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# Copyright (c) {{YEAR}} {{NAME}}

# Permission is hereby granted, ...

Aquí, cabe destacar {{YEAR}} y {{NAME}} que sin dos variables que las reemplazo directamente por el año en curso, en el momento de editar el archivo y por una frase donde indico la autoría en una variable template_name, declarada con anterioridad. También es capaz de evaluar determinadas expresiones, pero esto es algo que hasta el momento no he utilizado.

Desde luego, que puedes añadir todos aquellos reemplazos que quieras, todo con la idea de que te resulte más cómodo trabajar con plantillas.

El vídeo

A continuación te dejo un vídeo, en el que te explico la utilización de la corrección ortográfica y las plantillas en Neovim.

Deja una respuesta

Tu dirección de correo electrónico no será publicada.