Comentarios alineados a la derecha en vim

Estoy escribiendo el código C usando vim y estoy buscando la posibilidad de alinear mis comentarios a la derecha para que todos terminen en col 80. Para dar un pequeño ejemplo:

int a = 80; /* initialize a */ int b = 7; /* initialize b */ printf("%d + %d = %d", a, b, a+b); /*calculate the result */ 

debe convertirse en

 int a = 80; /* initialize a */ int b = 7; /* initialize b */ printf("%d + %d = %d", a, b, a+b); /*calculate the result */ ^col 80 

He instalado vim-easy-align para hacer otros formateos pero todavía no descubrí cómo realizar esta alignment. Tal vez alguien sabe cómo?

No insisto en vim-easy-align . Si tienes otro complemento que hace el trabajo … Solo dímelo;).

Solutions Collecting From Web of "Comentarios alineados a la derecha en vim"

Mi complemento AlignFromCursor proporciona un mapeo <Leader>ri y :RightAlignFromCursor command :RightAlignFromCursor que hace eso. Simplemente coloque el cursor en el espacio en blanco antes del comentario (ya sea manualmente o mediante un command :[range]normal ) e invoque el mapeo o command. Utiliza 'textwidth' o un prefijo [count] .

Aquí es cómo hacerlo con commands vim simples, sin complementos utilizados:

En modo normal, coloque el cursor en el primer carácter de la cadena que desea alinear a la derecha, como el delimitador de comentario, y luego presione el líder y luego la tabulación para alinear el text a la derecha.

 nnoremap <leader><tab> mc80A <esc>080lDgelD`cP 

Con explicaciones:

 mc80A <esc>080lDgelD`cP | | | || || mc| | || || Mark the position of the cursor | | || || 80A <esc>| || || Append 80 spaces at the end | || || 080l|| || Go the the 80th column from the beginning of the line || || D| || Delete what is next | || gel|| goes after the last string char || D| Delete the characters remaining (complement to go 80) | `cP and paste these to shift the string up to 80 column. 

Para marcar comentarios múltiples, puede search la próxima aparición de un delimitador de comentarios y presionar tab de líder n pestaña de líder n pestaña de guía n