tsuyoshicho / vimrc-reading

split vimrc from dotfile repository for reading
Creative Commons Zero v1.0 Universal
1 stars 0 forks source link

add formatter #15

Closed tsuyoshicho closed 5 years ago

tsuyoshicho commented 5 years ago

https://github.com/vim-jp/autofmt

tsuyoshicho commented 5 years ago

https://github.com/vim-jp/vimdoc-ja-working/issues/54#issuecomment-395459077

tsuyoshicho commented 5 years ago

formatoptions

デフォルト tcq

Kaoriya版 tcqmM

今 tcroql

k-takata さん tcqmBj

vimdoc推奨 default + mM

M or Bは必要らしい

t   'textwidth' を使ってテキストを自動折返しする
c   'textwidth' を使ってコメントを自動折返して、現在のコメント開始文字列を
    自動挿入する。
r   挿入モードで <Enter> を打ち込んだ後に、現在のコメント開始文字列を自動
    挿入する。
o   ノーマルモードで 'o', 'O' を打ち込んだ後に、現在のコメント開始文字列を
    自動的に挿入する。
q   "gq" でコメントを整形する。
    NOTE 整形は空行やコメント開始文字列のみの行は変更しないことに注意。新
    しい段落はそのような行の次、またはコメント開始文字列が変わった所から始
    まる。
w   行末に空白が付いているとき、段落が次行に続いていると認識する。行末が空
    白以外の行で段落が終わるとする。
a   段落を自動整形する。テキストが挿入されたり削除されるたび、段落は再整形
    される。|auto-format| を参照。
    'c' フラグも設定されているときはコメント挿入時のみ機能する。
n   テキストの整形時、番号付きリストを認識する。これは実際には
        'formatlistpat' を使う。それゆえ、どんな種類のリストでも処理できる。
        数字の後のテキストのインデントが次の行に使われる。数字の後に '.', ':',
    ')', ']' や '}' が付いてもよい。オプション 'autoindent' がオンでなけれ
    ばならないことに注意。"2" と一緒には機能しない。例: >
        1. 一つ目の項目
           折り返し
        2. 二つ目の項目
2   テキストを整形するとき、段落の最初の行ではなく2番目の行のインデントを
    使ってそれ以降の行を整形する。これは最初の行のインデントが他の行と異な
    るような段落をサポートする。'autoindent' もオンである必要がある。例: >
            ここはある段落の一行目
        ここは上の行と同じ段落の二行目
        ここは三行目。
<   これはコメントの中でも機能します (コメント文字がないかのように)。
v   挿入モードでVi互換の自動折返しを使う: 挿入モードに入って以来入力された
    空白でのみ折返しが行われる。( NOTE: これは100%のVi互換ではない。Viには
    このあたりに「予期できない機能」、というかバグがあった。Viは実際のテキ
    ストの列の代わりに画面上の列を使用する。)
b   'v' と同様だが、折返し余白の中または前で、空白を入力したときのみ自動折
    返しをする。挿入開始時に 'textwidth' より行が長かったり、'textwidth'
    に達するまで空白を入力しなかったときは、Vimは自動折返しをしない。
l   挿入モードでは長い行は折り返されない: 挿入開始時に行が 'textwidth' よ
    り長い場合、Vimは自動で整形を行わない。
m   文字コードが 255 より後のマルチバイト文字の間でも改行する。これは文字
    全てがそれだけで単語であるような、アジア言語のテキストで便利である。
M   行の連結時に、マルチバイト文字の前後に空白を挿入しない。こちらの方がフ
    ラグ 'B' より優先する。
B   行の連結時に、マルチバイト文字同士の間に空白を挿入しない。こちらよりフ
    ラグ 'M' の方が優先する。
1   1文字の単語の後では改行しない。代わりにその前で改行される (可能ならば)。
j   可能ならば、行を連結する際にコメントリーダーを削除する。例えば、以下の
    行を連結する場合:
        int i;   // the index ~
                 // in the list ~
    以下のようになる:
        int i;   // the index in the list ~
p   ピリオドに続く単一の空白で改行しない。これは、2つの空白で区切られた文
    章を含む散文用に 'joinspaces' と |cpo-J| を補完するためのものである。
    例えば、'textwidth' を28に設定すると: >
        Surely you're joking, Mr. Feynman!
<   以下のようになる: >
        Surely you're joking,
        Mr. Feynman!
<   以下のようにはならない: >
        Surely you're joking, Mr.
        Feynman!

't' と 'c' でVimが自動折返しを行うタイミングを指定できる。
フラグ 作用  ~
""  自動整形しない ("gq" で手動の整形処理を行う)
"t" テキストを自動整形するが、コメントにはしない
"c" コメントを自動整形するが、テキストにはしない (C言語コードに適している)
"tc"    テキストとコメントを自動整形する
tsuyoshicho commented 5 years ago

tcqmBjroになるようにする予定