vimdoc-ja-working
vimdoc-ja-working copied to clipboard
vimdoc整形用の推奨Vim設定を決める
https://github.com/vim-jp/vimdoc-ja-working/pull/52#issuecomment-262116823 より派生
- プラグイン autofmt
- autofmt用設定
set formatexpr=autofmt#japanese#formatexpr() " kaoriya版では設定済み
let autofmt_allow_over_tw = 1 " 全角文字がぶら下がりで1カラムはみ出すのを許可
- Vimオプション設定
'formatoptions'のデフォルト値 "tcq" (Kaoriya版は "tcqmM") 推奨値は "tcpm" ?
set formatoptions+=m " (mを加えて)文字コードが 255 より後のマルチバイト文字の間でも改行する
set formatoptions-=M " (Mを外して)行の連結時にマルチバイト文字の前後に空白を挿入する
set fileencoding=utf-8 fileformat=unixやset encoding=utf-8も推奨?
あとset autoindentはしておいた方が良い?
決まったらVim ドキュメント翻訳者の手引きに反映させましょう。 まずは意見出し。
let autofmt_allow_over_tw = 1 " 全角文字がぶら下がりで1カラムはみ出すのを許可
一応この設定は合意を取っておきたいですね。私が勝手に追加したものなので。
set encoding=utf-8も推奨?
eval.jax や digraph.jax には、á などの cp932 では扱えない文字があるのでそういうファイルを編集する際には必須ですね。
'formatoptions'のデフォルト値 "tcq" (Kaoriya版は "tcqmM")
私は "tcqmBj" に設定していますが、ほかの人にも推奨するかというと、微妙なところです。 ただ、"M" か "B" のどちらかはあったほうが良いのでは?
let autofmt_allow_over_tw = 1 " 全角文字がぶら下がりで1カラムはみ出すのを許可
一応この設定は合意を取っておきたいですね。私が勝手に追加したものなので。
実際にあり/なしで挙動をみて私はあったほうが良いという結論になったので +1 です。
set encoding=utf-8は推奨?
eval.jax や digraph.jax には、
áなどの cp932 では扱えない文字があるのでそういうファイルを編集する際には必須ですね。
set encoding=utf-8は推奨にしましょうか。
ただ、"M" か "B" のどちらかはあったほうが良いのでは?
あぁ、そうでした。Mを消したらBを足さないといけないのを忘れてました。
jは便利設定系なのでどちらでもいいかな。
新規ファイルから初めたり、変更したりする人はいないと思うけど、一応?
setl filetype=help textwidth=78
それから、 autofmt_allow_over_tw = 1 について、ぶら下げが半角文字分だけなのは何か理由がありますか? (少し特殊に思ったのと、既訳分だと 2 もあるようです)
ああ、そうか。 ターミナルなどに合わせて最大79桁にしたのか。
僕も autofmt_allow_over_tw = 1 が自然な挙動だと思います。
推奨設定これでいいですか?
シェルで自分のVimのpackage optディレクトリを作成&移動して autofmt をcloneする。
$ mkdir -p ~/.vim/pack/my/opt
$ cd !$
$ git clone https://github.com/vim-jp/autofmt.git
~/.vimrc に以下の設定を書く。
packadd! autofmt
set formatexpr=autofmt#japanese#formatexpr()
let autofmt_allow_over_tw=1
set formatoptions+=mM
set smartindent
フォーマットのやり方
- Vでビジュアルモードにして j 等でフォーマットしたい行を選択して
gq - カレント行だけならおもむろに
gqq
set formatoptions+=mM
シングルバイト文字とマルチバイト文字の間に空白を入れるかどうかが決まっていないので、"mM" か "mB" はユーザーに選択の余地を残しておきたいです。
案:
set formatoptions+=mM " または mB'formatoptions' には "mM" または "mB" を含めてください。"mM" の場合は、行連結時にシングルバイト文字とマルチバイト文字の間に空白は入りませんが、"mB" の場合は空白が入ります。現時点では、シングルバイト文字とマルチバイト文字の間に空白を入れるかどうかは統一されていないため、整形時には周辺の文章に合わせて手動で調整が必要になる場合があります。
一応ガイドには「文中に英数字がある場合には前後に空白を入れる。」と書かれているので、"mB" を優先した方がいいのかな?
"mB" 優先にしましょうか。(私の設定は "mM" でした)
set formatoptions+=mB " または mM
https://github.com/vim-jp/vimdoc-ja-working/wiki/Guide 'formatoptions' と 'smartindent' の設定を記載しました。(autofmt のインストール方法は未記載)