vimdoc-ja-working icon indicating copy to clipboard operation
vimdoc-ja-working copied to clipboard

vimdoc整形用の推奨Vim設定を決める

Open h-east opened this issue 9 years ago • 9 comments

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=unixset encoding=utf-8も推奨?

あとset autoindentはしておいた方が良い?

決まったらVim ドキュメント翻訳者の手引きに反映させましょう。 まずは意見出し。

h-east avatar Nov 25 '16 01:11 h-east

let autofmt_allow_over_tw = 1 " 全角文字がぶら下がりで1カラムはみ出すのを許可

一応この設定は合意を取っておきたいですね。私が勝手に追加したものなので。

set encoding=utf-8も推奨?

eval.jax や digraph.jax には、á などの cp932 では扱えない文字があるのでそういうファイルを編集する際には必須ですね。

'formatoptions'のデフォルト値 "tcq" (Kaoriya版は "tcqmM")

私は "tcqmBj" に設定していますが、ほかの人にも推奨するかというと、微妙なところです。 ただ、"M" か "B" のどちらかはあったほうが良いのでは?

k-takata avatar Nov 25 '16 03:11 k-takata

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は便利設定系なのでどちらでもいいかな。

h-east avatar Nov 25 '16 03:11 h-east

新規ファイルから初めたり、変更したりする人はいないと思うけど、一応?

setl filetype=help textwidth=78

それから、 autofmt_allow_over_tw = 1 について、ぶら下げが半角文字分だけなのは何か理由がありますか? (少し特殊に思ったのと、既訳分だと 2 もあるようです)

cougar-b avatar Nov 30 '16 16:11 cougar-b

ああ、そうか。 ターミナルなどに合わせて最大79桁にしたのか。

僕も autofmt_allow_over_tw = 1 が自然な挙動だと思います。

cougar-b avatar Nov 30 '16 16:11 cougar-b

推奨設定これでいいですか?

シェルで自分の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

h-east avatar Jun 07 '18 15:06 h-east

set formatoptions+=mM

シングルバイト文字とマルチバイト文字の間に空白を入れるかどうかが決まっていないので、"mM" か "mB" はユーザーに選択の余地を残しておきたいです。

案:

set formatoptions+=mM     " または mB

'formatoptions' には "mM" または "mB" を含めてください。"mM" の場合は、行連結時にシングルバイト文字とマルチバイト文字の間に空白は入りませんが、"mB" の場合は空白が入ります。現時点では、シングルバイト文字とマルチバイト文字の間に空白を入れるかどうかは統一されていないため、整形時には周辺の文章に合わせて手動で調整が必要になる場合があります。

k-takata avatar Jan 09 '20 00:01 k-takata

一応ガイドには「文中に英数字がある場合には前後に空白を入れる。」と書かれているので、"mB" を優先した方がいいのかな?

k-takata avatar Jan 09 '20 00:01 k-takata

"mB" 優先にしましょうか。(私の設定は "mM" でした)

set formatoptions+=mB     " または mM

h-east avatar Jan 09 '20 02:01 h-east

https://github.com/vim-jp/vimdoc-ja-working/wiki/Guide 'formatoptions' と 'smartindent' の設定を記載しました。(autofmt のインストール方法は未記載)

k-takata avatar Jan 09 '20 03:01 k-takata