blob: 3596cceb47e1e98e90299905004040500ce37745 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# vim-ai
Complete text in vim using OpenAI.

## 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 <leader>a :AI<CR>
vnoremap <leader>a :AI<CR>
```
### 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 <leader>s :AI fix grammar and spelling and use formal language<CR>
nnoremap <leader>s :AI fix grammar and spelling and use formal language<CR>
# command with custom context
command! -range -nargs=? AICode <line1>,<line2>call AIRun("Programming syntax is " . &filetype, <f-args>)
```
## License
[MIT License](https://github.com/madox2/vim-ai/blob/main/LICENSE)
|