NeovimでGitHub Copilotを使ってみる
Neovimを使ってみるにてNeovimを利用する準備を整えました。
今回は、NeovimでGitHub Copilotを利用してみます。
前提
- Neovimを使う
- AstroNvimを使う
- Node.jsはインストールされている
手順
まずはNeovimからGitHub Copilotを利用するためのプラグインを導入します。
ref: https://github.com/github/copilot.vim
.config/astronvim/lua/user/plugins/user.lua
に下記を追記します。
{
"github/copilot.vim",
lazy=false,
},
追記したら、Neovimを起動します。起動するとプラグインのインストールが始まります。
nvim
copilot.vim
がLazy.nvimでLoadedになっているかどうかを確認します。
:Lazy
Loadedにcopilot.vim
が入っていれば読み込まれています。
セットアップしていきます。
:Copilot setup
を実行して、return
を押下するとブラウザで数字の入力画面が表示されるので、クリップボードに自動的に保存された数字をペーストします。
ご自身のアカウントでGitHub Copilotが有効になっていない場合は、有効化の手順が進むので案内に従います。
設定の完了を確認します。
:Copilot status
Copilot: Enabled and online
となれば、完了です。
:Copilot status
<Tab> map has been disabled or is claimed by another plugin
となる場合は、キーマッピングが衝突しており、設定が完了できていないです。
例えば.config/astronvim/lua/user/init.lua
に下記のように追記してキーマッピングを変更します。もっと良い設定方法ありそうですが、あまり詳しくないのでこんな感じです。
polish = function()
vim.g.copilot_no_tab_map = true
vim.api.nvim_set_keymap("i", "<C-i>", 'copilot#Accept("<CR>")', { silent = true, expr = true })
end,
これで準備は整いました。
試しに閏年を判定する関数を提案してもらいます。
コメントでやりたいことを書いて、次の行でfunc
と記述して少し待つと提案が出てくる感じでした。
GitHub Copilotをどう活用するかは別途試してみると良さそうですね。
まとめ
NeovimでGitHub Copilotの利用設定をしてみました。
NeovimやAstroNvimの構成やお作法に詳しくなく、あまり理解するモチベーションもない状態で進めてみました。
途中Lazy.nvimでプラグインが読み込まれず詰まったのと、:Copilot status
が有効にならずキーマッピングの衝突が原因であることを理解するまでに結構時間がかかりました。
Discussion