こんにちは。ナミレリです。今回はnvimで使うChatGPTのプラグインである、ChatGPT.nvimを試してみたので紹介します。ChatGPT.nvimを使うとnvimから:ChatGPTで呼び出すことができ、リアルタイムにChatGPTと会話することができます。


この記事はこんな人にオススメ
- nvimでChatGPTを使いたい
- CLI派でなるべくnvimから離れたくない
- nvimが大好きで仕方ない
- VSCodeよりnvim派!
- M2 MacBook Air 13.6 インチ
- M1 Max MacBook Pro 14インチ
- macOS Ventura 13.2.1
- NVIM v0.9.0-dev-1244+gc6f8af36e-dirty
ついに3月1日(米国時間)に、OpenAIから「ChatGPT」のAPIがリリースされました。APIを通じて「ChatGPT」(gpt-3.5-turbo)にPythonでアクセスする方法を紹介しています。
目次
はじめに
私のneovim環境は、brewでneovimのHAEDをインストールして使っています。通常のneovimのバージョンは0.8.3ですが、いつくか動作しないプラグインもあるのでバージョン0.9を使っています。
今回は、ChatGPT.nvimの紹介をメインとして、nvimの環境や細かな設定は省きまして別の機会で紹介できればと思っています。
neovimのHEADをインストール
今回はbrewでneovimの最新のHEADをインストールします。
通常のneovimがインストールされている場合はuninstallします。
brew uninstall neovim
下のコマンドでneovimのHEADをインストールします。
brew install neovim --HEAD
以降、最新のHEADにするには、下のようにreinstallします。
brew reinstall neovim
インストールしたneovimのバージョンを確認しておきます。
nvim --version
NVIM v0.9.0-dev-1244+gc6f8af36e-dirty
Build type: Release
LuaJIT 2.1.0-beta3
システム vimrc: "$VIM/sysinit.vim"
省略時の $VIM: "/opt/homebrew/Cellar/neovim/HEAD-c6f8af3/share/nvim"
Run :checkhealth for more info
事前準備
curlの確認
プラグインのインストールにはcurlが必要ですのでインストールされているか確認します。Macであれば標準でcurlはインストールされています。
which curl
/usr/bin/curl
$OPENAI_API_KEYの確認
openaiのサイトからAPIキーを取得します。ここから取得します。
取得したAPIキーは、他の人と共有したりPythonコード(ブラウザ、アプリ等)で公開してしまうのはNGです。漏洩のリスクを軽減するために環境変数に設定しておきます。OPENAI_API_KEYという環境変数に設定します。
YOUR_API_KEYの部分に実際に取得したAPIキーを置き換えてください。
export OPENAI_API_KEY="YOUR_API_KEY"
APIキーはここから取得します。https://platform.openai.com/account/api-keys
ChatGPT.nvimのインストール
では、早速、ChatGPT.nvimを公式の通りにインストールしてみます。
パッケージマネージャはPackerを使っていますので、~/.config/nvim/lua/plugins.luaに下の内容を追加します。
-- Packer
use({
"jackMort/ChatGPT.nvim",
config = function()
require("chatgpt").setup({
-- optional configuration
})
end,
requires = {
"MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim",
"nvim-telescope/telescope.nvim"
}
})
nvimを起動して:PackerInstallでインストールしてくれます。

デフォルトのモデルはgpt-3.5-turboになっています。デフォルトの設定の詳しくはこちらに詳しく記載があります。
https://github.com/jackMort/ChatGPT.nvim#configuration
ChatGPT.nvimの使い方
それでは、ChatGPT.nvimを使ってみます。
ChatGPT.nvimの起動
nvimを起動して:ChatGPTで使えるようになっていると思います。
ChatGPT.nvimを起動する

ChatGPT.nvimの起動した画面

送信する方法:<C-Enter>
まず覚えておきたいショートカットキーは、送信ですね。送信は<C-Enter>です。
プロンプトの入力はiでインサートモードにして普通に入力して、送信は<C-Enter>です。
ChatGPT.nvimの終了する方法:<C-c>
次に覚えておきたいショートカットキーは、終了です。終了するには<C-c>です。
設定ウィンドウとセッションウインドウの表示:<C-o>
設定状態やセッションを確認する場合は、<C-o>で下のようにウィンドウが表示されます。
modelにgpt-3.5-turboが設定されていて、max_tokensが300であることがわかります。
<Tab>でウィンドウ間を移動でき、セッションの選択は該当セッションに移動して、<space>で選択することができます。

デフォルトのキーバインド一覧
キー | 説明 |
---|---|
<C-Enter> | 送信する |
<C-c> | 閉じる |
<C-u> | 上にスクロール |
<C-d> | 下にスクロール |
<C-y> | 回答をヤンク |
<C-k> | 回答のコードをヤンク |
<C-o> | 設定ウィンドウを表示 |
<C-n> | 新しいセッションを開始 |
<Tab> | ウィンドウ間を移動 |
<C-i> | ウィンドウの編集 |
デフォルトの設定
デフォルトの設定も公式に詳しく記載されていいます。
{
welcome_message = WELCOME_MESSAGE,
loading_text = "loading",
question_sign = "", -- you can use emoji if you want e.g. 🙂
answer_sign = "ﮧ", -- 🤖
max_line_length = 120,
yank_register = "+",
chat_layout = {
relative = "editor",
position = "50%",
size = {
height = "80%",
width = "80%",
},
},
settings_window = {
border = {
style = "rounded",
text = {
top = " Settings ",
},
},
},
chat_window = {
filetype = "chatgpt",
border = {
highlight = "FloatBorder",
style = "rounded",
text = {
top = " ChatGPT ",
},
},
},
chat_input = {
prompt = " ",
border = {
highlight = "FloatBorder",
style = "rounded",
text = {
top_align = "center",
top = " Prompt ",
},
},
},
openai_params = {
model = "gpt-3.5-turbo",
frequency_penalty = 0,
presence_penalty = 0,
max_tokens = 300,
temperature = 0,
top_p = 1,
n = 1,
},
openai_edit_params = {
model = "code-davinci-edit-001",
temperature = 0,
top_p = 1,
n = 1,
},
keymaps = {
close = { "" },
submit = "",
yank_last = "",
yank_last_code = "",
scroll_up = "",
scroll_down = "",
toggle_settings = "",
new_session = "",
cycle_windows = "",
-- in the Sessions pane
select_session = "",
rename_session = "r",
delete_session = "d",
},
}
最後に
最後まで読んでいただきありがとうございます。今回の【Mac】neovimでChatGPTと会話するはいかがでしたでしょうか。
普段からneovimを使っている方にとって、ChatGPT.nvimは遊んでみたくなるプラグインです。これでまたしばらくnvimから離れない生活できますね。
ChatGPT関連の別の記事
neovimでChatGPT
PythonでChatGPTのAPI
MacでChatGPT
MacでChatGPT
VSCodeでChatGPT
LinuxのターミナルからChatGPT
PythonでGPT-3