본문 바로가기

Termux

Vim에 자동완성 기능 추가하기

15년 전 프로그래밍을 처음 배운 이유가 ATmega128을 개발하기 위한 Native C + Assembly 라서 그런지...

윈도우 환경에만 익숙하고 리눅스랑 유닉스에는 그다지 익숙하지 않습니다.

(그 당시엔 그냥 notepad++ & windows cmd 창으로 개발)

 

회사생활 하면서 일반 유틸리티를 개발하면서 IDE라는 것도 알게 되고,

자동완성이라는 획기적인 기능을 알게되었습니다.

 

Vim에 자동완성 기능을 YouCompleteMe라는 PlugIn을 설치로 추가할 수 있습니다.

 

Termux는 당연히 일반 리눅스 환경과 다소 다른점이 있으니 구글에서

YCM(YouCompleteMe 준말)을 검색해서 찾아봐도 쉽게 설치는 안됩니다.

 

아래의 링크를 참조하면 설치가 가능합니다.

단, Vim을 설치할때는 꼭 vim-python으로 설치하셔야합니다.

YCM을 Vim에서 사용할 때 Python을 사용한다고 합니다. (vim --version 실행시 +python3 이어야함)

 

단, 얼마전에 Termux 버젼이 업데이트 되면서 몇가지 달라졌는데 해당 내용도 같이 기록해두겠습니다.

 

그리고 저는 Vim을 설치하는 이유가 Golang을 Termux에서 개발하고자 하는 것이라

Golang 자동완성 기능을 기준으로 설명하였음을 표기합니다.

9번 항목에서 빨간색으로 해놓은 부분을 추가하거나 수정하시면 다른 언어도 가능할 겁니다.

(JVM은 Termux에서 제공을 안해서 힘들듯..)

 

 

 

1. Install Prepare

 

pkg update && pkg upgrade && pkg install procps proot vim-python openssh git golang python clang cmake patch curl libcrypt

 

2. Restart termux

 

3. Setup proot

cd ~ && curl -fsSL https://raw.githubusercontent.com/theimpostor/termux-vim-ycm/master/bashrc.patch | patch

 

4. Restart termux

 

5. Install vundle

git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim

 

6. Setup .vimrc w/vundle, ycm, vim-go

curl -fsSL https://raw.githubusercontent.com/theimpostor/termux-vim-ycm/master/vundle.vimrc >> ~/.vimrc

 

7. Install plugins

vim +PluginInstall +qall

 

8. Patch YCM source to build on android

cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd && curl https://raw.githubusercontent.com/theimpostor/termux-vim-ycm/master/ycmd.patch | patch -p 1

 

9. Build ycm binary

cd ~/.vim/bundle/YouCompleteMe && ./install.py --go-completer --clang-completer --system-libclang

 

10. Install binaries for vim-go

vim +GoInstallBinaries

 

 

 

참조 : https://github.com/theimpostor/termux-vim-ycm

 

theimpostor/termux-vim-ycm

Installing YouCompleteMe and vim-go in Termux. Contribute to theimpostor/termux-vim-ycm development by creating an account on GitHub.

github.com