Note
ChatGPT.nvimというNvimプラグインを導入してプロンプトライフを満喫する
導入
LazyNvimをパッケージマネージャとして導入しているので、chat-gpt.lua
をplugins
フォルダ配下に作成し、以下のようにプラグインを読み込む
return {
{
"jackMort/ChatGPT.nvim",
event = "VeryLazy",
config = function()
require("chatgpt").setup {}
end,
dependencies = {
"MunifTanjim/nui.nvim",
"nvim-lua/plenary.nvim",
"folke/trouble.nvim",
"nvim-telescope/telescope.nvim",
},
},
}
APIの設定
Nvim内からアクセスできるようにOpenAIのアクセストークンを読み込む設定を行う。api_key_cmd
というパラメータがsetup内で利用できるので、こちらにsetup時にOpenAIのアクセストークンを読み込むコマンドを設定してあげる。
今回は1Passwordを新たに導入し、こちらで環境変数の管理を行うようにしたので1Password CLIを利用して、起動時にアクセストークンを読み込むコマンドを設定した。
アクセストークンはPersonal
内にopen_ai
という名前のSecure Noteを作成し、そちらにkey=token
という形式で登録している
config = function() {
require("chatgpt").setup {
api_key_cmd = "op read op://Personal/open_ai/key --no-newline",
}
}
以上を設定してNvimを起動するとChatGPTの各種コマンドが利用可能になる。 また開くたび1Passwordのアクセスリクエストの承認を求められるので以下を対応。
1Password CLIでのアクセスリクエスト認証を表示させない
1Passwordの認証が毎回面倒だったのでファイルから変数として読み込むように設定した。
export OPENAI_API_KEY=<value>
source "$HOME/.openai_key.zsh"
onfig = function() {
require("chatgpt").setup {}
}