Vim セットアップ
このページは PageTurner AI で翻訳されました(ベータ版)。プロジェクト公式の承認はありません。 エラーを見つけましたか? 問題を報告 →
Vimユーザーは、Prettier専用のvim-prettier、またはPrettierに対応した汎用リント/フォーマットエンジンであるNeoformatもしくはALEのいずれかをインストールできます。
vim-prettier
インストール方法と使用方法については、vim-prettierのREADMEを参照してください。
Neoformat
Neoformatをインストールする最適な方法は、vim-plugなど、お気に入りのVimプラグインマネージャーを使用することです:
Plug 'sbdchd/neoformat'
NeoformatがプロジェクトローカルのPrettierを使用するようにするには(つまり、$PATH上のprettierを探す代わりにnode_modules/.bin/prettierを使用する)、neoformat_try_node_exeオプションを設定する必要があります:
let g:neoformat_try_node_exe = 1
サポート対象のファイルで:Neoformatまたは:Neoformat prettierを実行するとPrettierが起動します。
保存時にNeoformatがPrettierを実行するようにするには:
autocmd BufWritePre *.js Neoformat
autocmdで他のイベントを設定することで、より頻繁にコードフォーマットを実行させることもできます。有用なイベントの例:
-
TextChanged: ノーマルモードでテキストが変更された後 -
InsertLeave: 挿入モードを終了したとき
例えば、上記の両イベントとBufWritePreを組み合わせて以下のように設定できます:
autocmd BufWritePre,TextChanged,InsertLeave *.js Neoformat
詳細はVimで:help autocmd-eventsを参照してください。
設定ファイルの使用が推奨されますが、.vimrcにオプションを追加することも可能です:
autocmd FileType javascript setlocal formatprg=prettier\ --single-quote\ --trailing-comma\ es5
" Use formatprg when available
let g:neoformat_try_formatprg = 1
Prettierオプション内のスペースはすべて\でエスケープする必要があります。
ALE
ALEは非同期処理機能を利用するため、Vim 8またはNeovimが必要です。
ALEをインストールする最適な方法は、vim-plugなど、お気に入りのVimプラグインマネージャーを使用することです:
Plug 'dense-analysis/ale'
詳細な手順はALEリポジトリで確認できます。
ALEはグローバルインストールを探す前に、ローカルにインストールされたPrettierの使用を試みます。
使用言語に対してPrettierフィクサーを有効化:
let g:ale_fixers = {
\ 'javascript': ['prettier'],
\ 'css': ['prettier'],
\}
ALEは_リンター_と_フィクサー_の両方をサポートしています。実行する_リンター_を指定しない場合、サポートされている全言語で利用可能なツールがすべて実行され、正しくフォーマットされたファイルに大量のリンターエラーが表示される可能性があります。この動作を無効化するには、明示的に設定したリンターのみを実行するようにALEに指示できます(詳細はFAQ参照):
let g:ale_linters_explicit = 1
その後、JavaScriptやCSSファイルで:ALEFixを実行するとPrettierが起動します。
保存時にALEがPrettierを実行するようにするには:
let g:ale_fix_on_save = 1
設定ファイルの使用が推奨されますが、.vimrcにオプションを追加することも可能です:
let g:ale_javascript_prettier_options = '--single-quote --trailing-comma all'
coc-prettier
coc.nvim向けのPrettier拡張機能で、neovimまたはvim8.1が必要です。 お好みのプラグインマネージャ(例: vim-plug)を使用してcoc.nvimをインストールします:
Plug 'neoclide/coc.nvim', {'branch': 'release'}
続いてコマンドでcoc-prettierをインストールします:
CocInstall coc-prettier
init.vimまたは.vimrcにPrettierコマンドを設定します
command! -nargs=0 Prettier :call CocAction('runCommand', 'prettier.formatFile')
保存時にフォーマットを適用したい言語についてcoc-settings.jsonを更新します。
{
"coc.preferences.formatOnSaveFiletypes": ["css", "markdown"]
}
coc-prettierはprettier-vscodeと同じ設定を持ち、:CocConfigでcoc-settings.jsonを開くとオートコンプリートが利用できます。
手動実行
最小限の設定では、カスタムキーバインドを作成できます。以下の例ではgp(ニーモニック: "get pretty")を使用して現在のバッファでPrettierを実行します(オプション付き):
nnoremap gp :silent %!prettier --stdin-filepath %<CR>
注意: コードに構文エラーがある場合、バッファ全体がエラーメッセージに置き換わります。コードを復元するにはuを押す必要があります。
この方法のもう1つの欠点は、カーソル位置が保持されないことです。