vimのコメントは右揃えです。

vimのコメントは右揃えです。

私はvimを使ってCコードを書いていますが、コメントがすべて80列で終わるようにコメントを右揃えする可能性を探しています。簡単な例を挙げると:

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

しなければならない

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

別の形式がインストールされていますが、vim-easy-alignこのソートを実行する方法が見つかりませんでした。たぶん誰かがこれを行う方法を知っていますか?

私はそれを強制しませんvim-easy-align。そのタスクを実行できる他のプラグインがある場合はお知らせください。 ;)

ベストアンサー1

プラグインを使用せずに一般的なvimコマンドを使用してこれを行うには、次のようにします。

通常モードでは、右揃えしたい文字列の最初の文字(注釈区切り文字など)にカーソルを置き、キーを押してテキストを右揃えしますleadertab

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

説明:

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.

複数のコメントを表示するには、次のコメント区切り文字を検索してleadertabnleadertabnleadertabn...を押します。

おすすめ記事