c++ - multiples - como poner comentarios en sql
¿Vim ancho de texto diferente para comentarios multilínea en C? (2)
En nuestra base de código de C ++ mantenemos 99 líneas de columna pero 79 comentarios de varias líneas de varias líneas. ¿Hay una buena estrategia para hacer esto de forma automática? Supongo que los modos ya son conocidos debido a la unión inteligente de comentarios y la inserción * inicial.
Al parecer, tanto el código como los comentarios utilizan la misma opción de textwidth
. Por lo que puedo ver, el único truco es configurar esta opción dinámicamente:
:autocmd CursorMoved,CursorMovedI * :if match(getline(.), ''^/s*/*'') == 0 | :setlocal textwidth=79 | :else | :setlocal textwidth=99 | :endif
Aquí la parte crítica es detectar cuando estamos en un comentario. Si solo formateas comentarios de esta manera:
/*
* my comment
*/
mi expresión regular debería funcionar ... a menos que tenga líneas en el código que empiecen por *
(lo que creo que puede ocurrir en C
, con menos frecuencia en C++
). Si usas comentarios como este:
// comment line 1
// comment line 2
La expresión regular es incluso más simple de escribir. Si desea cubrir todas las situaciones posibles, incluidos los casos de esquina, bueno ... Supongo que lo mejor sería definir una función de detección separada y llamar a eso desde :autocmd
lugar de match()
.
Encontré este mismo problema y creo que he encontrado una solución adecuada.
Lo que quería que mis comentarios se ajustaran a las palabras para que cuando escribo no tenga que preocuparme por el formato del texto. Esto funciona bien con el texto de comentario. Pero no me sentía cómodo teniendo formato vim mi código. Así que quería que vim destaque cada cosa en rojo después de la columna x.
Para hacer esto solo con el código cpp, debe agregar lo siguiente a su archivo ~ / .vim / ftdetect / cpp.vim.
set textwidth=79
match ErrorMsg ''/%>99v./+''
Nota: Es posible que tenga que crear el archivo y las carpetas si no existen.
Si tiene problemas con esto, asegúrese de tener las opciones de formato establecidas en:
formatoptions=croql
Puede ver esto ejecutando: establecer opciones de formato dentro de vim.