申し訳ありません
と、どうせ居ないであろうユーザーの人に謝っておきます。
このvim pluginを大幅に書き直して、破壊的に更新しました。
何がいけなかったのか
前書いたのは、とりあえずchatgptとお話するぶんには便利でした。しかし、徐々に僕の中でこういう声が聞こえてきました。
- 👶「テンプレートくらい使わせろ」
- 👶「お前は毎回『お世話になっております』ってchatgptに言うのか?」
- 👶「ていうか、バグ多すぎ死ね!」
- 👶「関数多すぎ、名前空間汚しすぎ死ね!」
- 👶「お前はopenai以外は使わないのか?ラマやアルパカは?🐴」
- 👶「ninco.vimの作者は暗いから話しかけるのやめとこう」
大幅に改善したが…
上記に対策を立てました。
テンプレート、openai以外を使う機能を追加しました。
バグも前よりは少ないです。また、グローバルな関数を減らしました。
これにより、以前に比べてずっと良くなりました。
ですが、その過程で、UIが破壊的に更新されてしまいました(´・ω・`)
使い方
雰囲気的にはこんな感じ。API_KEYはopenaiを使うときだけに必要。自宅GPUサーバー持っている人はurlでそれを指定すればよろしい。
あとは…下記のようにvimrcを書くと\dの後にgnってやればプロンプト出てきて、無事に使えるはず。visual modeでも。
手元では使えている。llamaで立てたopenai互換ローカルサーバーも含めて。
let g:ninco#single_mode = 1
let g:api_key = "[API_KEY]"
let g:ninco#gpt_model = "gpt-3.5-turbo"
let g:ninco#gpt_url = "https://api.openai.com/v1/chat/completions"
nnoremap <leader>d :call NincoEnableWindow(g:api_key, g:ninco#gpt_model, g:ninco#gpt_url)<CR>
nnoremap <leader>c :call NincoEnable(g:api_key, g:ninco#gpt_model, g:ninco#gpt_url)<CR>
" Compress log
nnoremap gc :call NincoCompress(5)
" Normal mode
nnoremap gn :call Ninco("", "")<C-F>04f"<C-C>
" Visual mode
vnoremap gn :<C-E><C-U>call Ninco("", "", GetVisualSelection())<C-F>04f"<C-C>
反省だけなら猿でも出来る🐵
まず、vim pluginを作るときにはUIを定めような!
とはいえ、僕しか使ってないと思うから良いんだけど!
感想
自分でダメ出ししておいて言いますが、僕は使います。
あと、vimのdoc書くの面倒臭すぎて死ぬ。