Muy a menudo, escribo rebajas en VIM, y habrá párrafos en esas rebajas. Para ayudar a mi edición, configuré mi Vim para ajustar una línea en 80 caracteres. Funciona bien si sigo escribiendo, pero el problema es que si necesito hacer alguna corrección, se vuelve muy molesto.
demostración (tomada de la lógica de primer orden de Wikipedia):
The adjective "first-order" distinguishes first-order logic from higher-order logic
in which there are predicates having predicates or functions as arguments. In first-order
theories, predicates are often associated with sets. In interpreted higher-order
theories, predicates may be interpreted as sets of sets.
Hasta aquí todo bien. Pero cuando reviso el artículo, podría decidir agregar algo en el medio, por ejemplo:
The adjective "first-order" distinguishes first-order logic from higher-order logic
in which there are predicates having predicates or functions as arguments,
or in which one or both of predicate quantifiers or function quantifiers are permitted.
In first-order theories, predicates are often associated with sets. In interpreted higher-order
theories, predicates may be interpreted as sets of sets.
la línea de aviso 3 es la que quiero ajustar. Si lo hago en VIM, necesitaré unir manualmente las líneas y volver a envolver todo el párrafo.
¿Alguien tiene idea de cómo hacer que VIM lo haga automáticamente?
fuente
Me gustaría echar un vistazo
:help 'textwidth'
. Romperá automáticamente las líneas a medida que escribe. Sin embargo, esto no funciona si está editando la mitad de una línea.Personalmente prefiero dejarlo
textwidth
, así que creé una función que se unirá automáticamente y dividirá un párrafo. (Básicamente lo formatea automáticamente a 80 caracteres) Se ve así:Luego tengo un mapeo para llamarlo cuando lo necesito:
¡Esta función también funciona muy bien
formatoptions+=jr
para formatear comentarios en código! Simplemente coloque el cursor en la primera línea que tenga más de 80 caracteres y llame a la función.(Nota: no he hecho que esta función sea general para hacer longitudes que no sean 80, pero creo que solo necesita cambiar los 80 y 81 si desea que sea otra cosa)
Ver
:help 'textwidth'
y:help 'formatoptions'
para más información.fuente
textwidth
se formateará automáticamente a medida que escribe. Mi función no lo hará. Prefiero controlar cuándo vim envuelve las cosas, por lo que funciona para mí. Pero si está buscando específicamente un formateador a medida que escribe, sí; no se ajusta a tu flujo de trabajo.En aras de la exhaustividad, me gustaría mencionar la opción basada en complementos.
Si usa algo como ALE que admite ejecutar sus memorias intermedias a través de un embellecedor al guardar, puede dejar que Prettier se encargue de volver a envolver su código.
Lo logré poniendo esto en
~/.vim/ftplugin/markdown.vim
:... y poniendo esto en
~/.vimrc
:fuente