はじめに
Vim から ChatGTP の恩恵を受けたいと思ったので、良さそうなプラグインを探してみたところ以下のようなプラグインを見つけたので、検証を兼ねて調べてみました。
検証環境
| |
ChatGPT Vim Plugin “vim-chatgpt” とは?
OpenAI 者が提供するサービス ChatGPT の API を使って Vim 上での編集作業を効率化するためのプラグインです。
コードロジックに関する「説明」や「改善」について尋ねることができます。
プラグインを使うと、ChatGPT に説明を求めたり、レビューしてもらったり、修正してもらったコード部分をハイライトすることができます。
利用の前提条件
以下のものが必要となります。
- Python3 がサポートされた Vim 環境
- OpenAI の ChatGPT API Key
準備
OpenAI 社の以下のページから、自分の ChatGPT API Key を取得しておきます。
インストール
Vim のプラグインの方法についてはここでは割愛します。
以下のような Vim のプラグインマネージャーを導入することをおすすめします。
セットアップ
作業 PC にて、 CHAT_GTP_KEY という名前の環境変数を用意します。
値には先のページにて取得した API Key をセットします。
| |
環境変数を使わず、 .vimrc に設定を記述する方法もあります。
| |
最後に openai Python モジュールをインストールしておきます。
pip が使えれば簡単に導入できます。
| |
ちなみに .vimrc に設定を書かずに使用したところエラーとなりました。
そのため、 .vimrc に let g:chat_gpt_max_tokens=4000 の設定だけは追記し、無事に動作するようになりました。
使い方
提供されているコマンドはいくつかあるが、
:Ask '<prompt>' コマンドを実行してみたが、実行しても何も怒りません。
ざっと試してみて便利そうなのは Rewrite コマンドと Test コマンドでした。
:<>Rewrite '<context>'
強調表示されたコードを ChatGPT に送信し、訂正されたコードを受け取ます。
<context> 部分にオプションを指定して挙動を制御できるようですが、使い方がわからなかった。
指定しなくても動作した。
まずは Vim を開き、以下の文章を記述した。
| |
これをビジュアルモードで選択し他状態で、 '<,'>Rewrite コマンドを実行してみます。
すると別のウィンドウが開き、以下のような内容が表示されました。
| |
優しすぎます。
個人的にはシバン部分が #!/usr/bin/env bash となってほしかったが、変数名にまで気を使ってくれて気が利く。
もちろんこのコードをそのまま使用する必要はないので、自分の好みで以下のように変更してみました。
| |
:<>Test '<context>'
強調表示されたコードを ChatGPT に送信し、テストコードを受け取ます。
これは便利そう。
先ほど作成したスクリプトのテストコードを要求してみます。
ビジュアルモードですべて選択した状態で '<,'>Test を実行します。
| |
なるほど。
ただし、すでに先程のスクリプトは sum.sh という名前で作成してしまったのでその点だけ修正が必要です。
| |
これを test.sh というファイル名で保存し、実行してみます。
| |
いい感じ。 他のテストケースも要求してみたいが今日は深堀りせずここまでにします。
ひとこと
今後もっと使うことになるかわからないけれども、しばらく使ってみようと思います。
ちなみに紹介しておいてなんですが、以下のプラグインも一緒に入れていてこちらのほうがシンプルかつエラーなく動作しているのでこちらをメインに使っていこうかなと思っているところです。