1. はじめに
こんにちは、DevOpsチームの宮囿です。
弊社のDevOpsチームはあまりコーディングをする部署ではないんですが、必要に駆られてたまにコーディングもします。
私はVSCode+Copilotプラグインでなんとなく書いていたんですが、ターミナル上で作業を完結させたいという思いが募り、この度 Neovim※1+NvChad※2+Copilotの環境に移行することにしました。
その際、簡単に動作確認する環境を組んだのでその紹介をします。
※1 Neovim:vimの派生エディタ。拡張性と使いやすさが向上しているとのこと。
※2 NvChad:Neovimの使いやすい設定セットのようなもの。本田さんに教えてもらいました。
2. 対象読者
3. 環境構築
今回、お試しで触るだけなのでdockerで環境を準備することにしました。
dockerが利用でき、nerdfontが表示できる環境でお試しください。
3.1. nvim+nvchadのdocker立ち上げ準備
https://nvchad.com/docs/quickstart/install にdockerで動かすためのコマンドが書いてあるので、最後のnvimを起動するコマンドをshに変更して利用します。copilot.luaを適用するのにnvimの再起動が必要なためです。
docker run -w /root -it --rm alpine:latest sh -uelic ' apk add git nodejs neovim ripgrep build-base wget --update git clone https://github.com/NvChad/starter ~/.config/nvim sh '
3.2. nvim起動
1の起動後、
$ nvim
を実行します。 初回起動時、lazy.nvimの画面が立ち上がりますので、完了したらqで閉じます。
3.3. copilot.luaの追加
space→f→aでtelescopeのファイル検索を開き、.config/nvim/lua/plugins/init.luaを開きます。
※最小構成なのでluaのLSPがない旨のエラー出てます
開いたら、プラグインとして以下を追加します。
{ "zbirenbaum/copilot.lua", cmd = "Copilot", event = "InsertEnter", config = function() require("copilot").setup({}) end, },
3.4. Lazy sync実行
nvim上で
:Lazy sync
を実行し、copilot.luaをインストールします。
3.5. nvimを開きなおし、Copilotの認証
nvimを一度閉じて開きなおし、
:Copilot auth
でCopilotの認証を行います。
リンク先でコードを入力して認証を済ませると数秒でポップアップが消えます。 以上でCopilot.luaが利用できるようになります。
3.6. 試用
NvChadの利用について
space→c→hでチートシートが表示されるので、それを参考に操作します。困ったらチートシートを表示させて確認できます。
まずspace→t→hでテーマを自分好みにしてから試用を開始すると楽しいはずです。
Copilotの利用について
Alt+[でサジェスト表示、Alt+lで決定ができます。
その他のホットキーについては copilot.luaのgithubのdefault configurationから確認できます。
4. まとめ
これまでNeovimの設定を練るのが面倒そうで敬遠していたんですが、無事デビューすることができました。
Copilot.luaだけだと少し使いにくいのでもう少し工夫する必要がありそうですね。本記事を作成するにあたって、dockerでエディタを用意するのも少し楽しかったので、拡張してそのまま使える環境もちょっと作ってみたい気持ちです。
最後に
スパイダープラスでは仲間を募集中です。ちょっと興味が出てきたな、とか、もっといい方法あるのにな、と思った方は是非お話しましょう!