vimを最高のIDEにする

2021年07月02日
投稿者:Didy
カテゴリ:リリース報告会&自慢大会, 開発全般 タグ:, , ,

本記事

こんにちは、鈴木商店のDidyです。
今回が初投稿です。

記念すべき初投稿はcoc.nvimというvimプラグインを導入した話をします。
この話は元々6月の社内の報告会で発表したかったネタの一つでした。
定員オーバーでお断りされて発表できませんでした。
次の発表まで温める程の内容でもないし、お小遣いも貰えるらしいので記事にしました。

ちなみに導入した感想ですが、控えめに言って最高です。

coc.nvimとは

coc.nvimはvimをVSCodeのようなIDEライクな開発環境にしてくれるLSPフルサポートプラグインです。

LSPをサポートするプラグインはたくさんあります。数ある中からcoc.nvimに決めた理由を簡単に書きます。

・ 豊富な拡張機能。
・ 容易な設定。
・ githubのスター数とユーザー数。
・ 活発なコミュニティ。

拡張機能はgithubのwikinpm moduleを検索するサイトで必要な拡張機能を探して見つけます。

Vimのコマンドラインモードでコマンドを叩くか、vimrc(設定ファイル)に記述するだけで拡張を追加できます。

インストール

Coc.nvimのReadme.mdを参考にしつつインストールしました。

・ Node.jsのインストール。
|—- homebrewを使いました。シェルで$ brew install nodeコマンドを実行。

・ coc.nvimのインストール。
|—- vimrcにpaq {'neoclide/coc.nvim', branch='release'}を追記し、:PaqInstallを実行。

設定

・ vimrc(キーマッピング等の設定)
|—- 鈴木商店では希少なvimmer・やまけんさんのvimrcを参考にさせてもらいました。
|——– (公式にもサンプルあるよ)

・ 拡張機能。以下の2つの拡張を追加しました。
|—- coc-pyright: PythonのLanguage Server。現在のプロジェクトのメイン言語がPythonのため利用しています。
|——– pyright: MS制の静的解析ツール
|—- efm-langserver: LintツールをLSPに対応させるための汎用的なLanguage Server。textlintと連携させて日本語校正ツールとして利用しています。
|——– textlint: 自然言語のリンター
|—- coc-json: JsonのLanguage Server
|—- coc-yaml: YamlのLanguage Server

・ その他(覚えておくと便利なコマンド)
|—- :CocInstall: 拡張機能を追加する 。
|—- :CocUninstall: 拡張機能を削除する 。
|—- :CocList extensions: 追加済みの拡張機能の一覧を表示する。
|—- :CocCommand workspace.showOutput : 拡張機能の実行ログを表示する。
|—- :CocConfig : LSPの設定ファイルを開く。

機能

・ 自動補完

・ エラーやワーニングなどのリントメッセージの表示。カーソルを載せるとエラーメッセージを確認できます。

・ ソースコードの整形機能。

・ 定義またはヒントの確認。

・ 定義ジャンプ機能。定義が別ファイルにある場合は、そのファイルの該当位置に移動してくれます。

・ 関数名または変数名などを一括で変更する。

vimrcの例

最後に

導入した感想ですが、控えめに言って最高です。

以上、coc.nvimを導入した話でした。


「vimを最高のIDEにする」への1件のフィードバック

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です