LoginSignup
13
12

More than 5 years have passed since last update.

Vimでreactのjsフォーマッティング

Posted at

vimでjsフォーマッティングはvim-jsbeautifyを使っているのですが、reactを使い始めてからまともに使えなくなってしまって、放置していましたが、久しぶりに見たらなんとなく対応できてました。

ポイントとしてはver1.0から対応した.editorconfigを書くこと。
以下のように書いて.vim/.editorconfigにおいてます。

[**.js]
e4x = true
indent_style = space
indent_size = 2

[**.jsx]
e4x = true
indent_style = space
indent_size = 2

別の選択肢 esformatter + esformatter-jsx

jsbeautifyでもいいのですが、esformatter-jsxならjsxをもっと綺麗に整形してくれるようです。

インストール

別途esformatter達を入れます。

npm install -g esformatter esformatter-jsx

余談ですが、vim-jsbeautifyの場合はvimプラグインリポジトリからjs-beautifyをsubmodule参照してるんですね。

vim側はvim-esformatterをインストールします。
NeoBundleなりで入れてください。

キーバインド参考

nnoremap <silent> <leader>es :Esformatter<CR>
vnoremap <silent> <leader>es :EsformatterVisual<CR>

例えば以下のようなjsxが、

render() {
  return (
    <div>{this.props.text}</div>
  );
}

このようにフォーマットされます。great!!

render() {
  return (
    <div>
      {this.props.text}
    </div>
    );
}
13
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
12