From 7849ee09c54008cf2b87cd8af7e694367d14c879 Mon Sep 17 00:00:00 2001 From: Martin Bielik Date: Mon, 27 Feb 2023 21:23:12 +0100 Subject: docu --- README.md | 57 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++ demo.gif | Bin 0 -> 770480 bytes doc/vim-ai.txt | 25 +++++++++++++++++++++++++ 3 files changed, 82 insertions(+) create mode 100644 README.md create mode 100644 demo.gif create mode 100644 doc/vim-ai.txt diff --git a/README.md b/README.md new file mode 100644 index 0000000..3596cce --- /dev/null +++ b/README.md @@ -0,0 +1,57 @@ +# vim-ai + +Complete text in vim using OpenAI. + +![vim-ai demo](./demo.gif) + +## Installation + +Prerequisites: + +```sh +# install https://github.com/peterdemin/openai-cli +pip install openai-cli + +# configure openai api key https://platform.openai.com/account/api-keys +echo "YOUR_OPENAPI_TOKEN" > ~/.config/openai.token + +# alternatively using environment variable +export OPENAI_API_TOKEN="YOUR_OPENAPI_TOKEN" +``` + +Add plugin to your `.vimrc`, e.g. using `vim-plug`: + +```vimscript +Plug 'madox2/vim-ai' +``` + +## Usage + +### Basic usage + +`:AI {prompt}` - completes selected text (visual mode) or text on the current line (normal mode). Passing optional `{prompt}` parameter prepends it to the final prompt. + +### Key bindings + +Map keys in your `.vimrc` to trigger `:AI` command. + +```vimscript +nnoremap a :AI +vnoremap a :AI +``` + +### Custom commands + +To customize and re-use prompts it is useful to put some context to the language model. You can do it with prepending text to `:AI` command. + +```vimscript +# key binding with custom context +vnoremap s :AI fix grammar and spelling and use formal language +nnoremap s :AI fix grammar and spelling and use formal language + +# command with custom context +command! -range -nargs=? AICode ,call AIRun("Programming syntax is " . &filetype, ) +``` +## License + +[MIT License](https://github.com/madox2/vim-ai/blob/main/LICENSE) diff --git a/demo.gif b/demo.gif new file mode 100644 index 0000000..35817e0 Binary files /dev/null and b/demo.gif differ diff --git a/doc/vim-ai.txt b/doc/vim-ai.txt new file mode 100644 index 0000000..f4e3545 --- /dev/null +++ b/doc/vim-ai.txt @@ -0,0 +1,25 @@ +*vim-ai.txt* Complete text using OpenAI API. + +Author: Martin Bielik +License: see https://github.com/madox2/vim-ai/blob/main/LICENSE + +INTRODUCTION *vim-ai* + +This plugin can be used to generate code, edit text, brainstorm ideas, +translate, etc. + +COMMANDS *vim-ai-commands* + +To set-up key bindings and expamples see: +https://github.com/madox2/vim-ai + + *:AI* +:AI {prompt} Completes selected text (visual mode) or text on the + current line (normal mode). Passing optional {prompt} + parameter prepends it to the final prompt. + +ABOUT *vim-ai-about* + +Contributions are welcome on GitHub: + +https://github.com/madox2/vim-ai -- cgit v1.2.3