.
vim에서 사용 가능한 AI Code Assistant 설치 방법을 소개한다.

위 그림에서 회색으로 작성된 부분이 AI가 자동완성한 Code 이다.
해당 PlugIn의 가장큰 장점은 Local 환경에서 구동되므로 폐쇄망에서도 사용 가능하다.
Ollama server를 Ubuntu PC에 설치한다.
curl -fsSL https://ollama.com/install.sh | sh
만약 인터넷 연결이 전혀 되지 않아, ollama server를 OFFLINE으로 설치해야 한다면 다음 방법을 사용한다.
( https://github.com/ollama/ollama/blob/main/docs/linux.md )
먼저 아래 링크에서 Release File을 다운받고
https://github.com/ollama/ollama/releases
아래 명령어를 수행한다.
sudo tar -C /usr -xzf ollama-linux-amd64.tgz
sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)
그리고 "/etc/systemd/system/ollama.service" 파일을 아래처럼 작성한다.
[Unit]
Description=Ollama Service
After=network-online.target
[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
[Install]
WantedBy=multi-user.target
마지막으로, 서비스를 실행한다.
sudo systemctl daemon-reload
sudo systemctl enable ollama
원하는 AI Coder Model을 다운 받는다.
( 여기서는 비교적 가벼운 deepseek-coder를 다운 받았다. )
ollama pull deepseek-coder:6.7b
만약 인터넷 연결이 안되어 pull 명령어 수행이 불가능 하면,
다른 기기에서 model은 다운 받은 후, 아래 경로에 붙여넣는다.
/usr/share/ollama/.ollama/models
다음으로 vim-ollama PlugIn을 설치한다.
~/.vimrc 파일에 아래와 같이 추가한다.
set nocompatible
filetype off
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
"vim ollama"
Plugin 'gergap/vim-ollama'
call vundle#end()
filetype plugin indent on
만약 vundle 설정이 안되어 있다면 아래 링크를 참고한다.
https://github.com/VundleVim/Vundle.vim
vim을 실행하고, vim 명령창에서 vundle을 이용해 vim-ollma를 설치한다.
:PluginInstall

설치가 잘 되었는지 아래 명령어로 테스트를 수행한다.
cd ~/.vim/bundle/vim-ollama/python/
echo -e 'def compute_gcd(x, y): <FILL_IN_HERE>return result' | ./complete.py -u http://localhost:11434 -m codellama:7b-code
테스트 결과는 빠르게 콘솔에 출력된다.
# Euclid's algorithm
while y:
x, y = y, x % y
return x
def lcm(a, b):
result = (a * b) // compute_gcd(a, b)
이제 vim을 종료 후, 다시 실행하면 아래처럼 설정을 "시작하겠습니까?" 질문이 나온다.
과감히 "N"을 선택한다.
Welcome to Vim-Ollama!
----------------------
This is the first time you are using this plugin. Should I help you setting up everything? (Y/n): N
( 이유는 모르겠지만, 초기 설정으로 수행하면 ollama serve 연결이 되지 않는다 ... 😂 )
이제 ollma 설정을 하기 위한 vim 명령어를 실행해서 완료한다.
여기서 model 선택이 가능하다.
:Ollama setup
The default Ollama base URL is 'http://localhost:11434'. Do you want to change it? (y/N): N
[1] Select an existing model
[2] Pull default models for automatic setup
Your choice: 1
Available Models:
[1] deepseek-coder:6.7b
Choose tab completion model (Press enter for 'starcoder2:3b'): 1
Configured 'deepseek-coder:6.7b' as tab completion model.
------------------------------------------------------------
Available Models:
[1] deepseek-coder:6.7b
Choose code edit model: 1
Configured 'deepseek-coder:6.7b' as code edit model.
------------------------------------------------------------
Available Models:
[1] deepseek-coder:6.7b
Choose chat model (Press enter for 'llama3.1:8b'): 1
Configured 'deepseek-coder:6.7b' as chat model.
Configuration saved to /root/.vim/config/ollama.vim
이제 네트워크를 사용하지 않는 환경에서도, vim에서 AI Code Assistant 기능을 사용 할 수 있다.
.
※ 참고 및 출처
Ollama
Get up and running with large language models.
ollama.com
https://github.com/gergap/vim-ollama
GitHub - gergap/vim-ollama: Vim plugin for integrating Ollama based LLM (large language models)
Vim plugin for integrating Ollama based LLM (large language models) - gergap/vim-ollama
github.com
.
'Linux > vim' 카테고리의 다른 글
| [vim] YouCompleteMe (0) | 2025.02.19 |
|---|---|
| [vim] 임의 위치의 tags & cscope 추가 (0) | 2024.09.21 |
| [vim][c] syntax highlight (0) | 2024.02.03 |
| [vim] C언어 #ifdef (0) | 2024.02.03 |
| [vim] mark 설치 (형광펜 기능) (0) | 2024.02.03 |