목차
1. 주제 소개
필자는 스마트폰과 태블릿에서 리눅스 환경을 사용 가능하게 해주는 termux와 인기 있는 텍스트 에디터인 vim 사용법에 관해서 게시글을 여럿 올렸다.
스마트폰(태블릿)에서 Git 사용하기/termux, github
스마트폰에서 파이썬(Python) 코딩 및 주피터노트북 사용하는 방법/termux, 태블릿, 안드로이드
termux(linux)에서 코드 편집하기: vim 에디터 기본 사용법
앞서 소개한 내용들을 따라 하면 틈틈이 스마트폰이나 태블릿을 이용해 코딩 공부도 할 수 있고 재미삼아 스마트폰에서 사용할 프로그램을 제작할 수도 있다.
그러나 한 가지 아쉬운 점이 있다. PC에서 VS Code 등 코드 편집기(IDE)를 사용하면서 편리한 코드 자동 완성 기능에 익숙해져 있었는데, Termux에서 Vim으로 코딩을 하게 되면 글자 하나하나 전부 직접 입력을 해야 한다는 점이다.
Vim에는 수많은 플러그인이 있고, 다행히 코드 추천 플러그인도 있으며, Termux에서도 설치가 가능하다.
이 글에서는 Vim의 코드 추천 플러그인 중 많이 사용되는 YouCompleteMe를 Termux에서 사용하는 방법을 소개한다.
2. YouCompleteMe 설치하기
위에 언급한 앞선 게시글들을 보고 Termux와 Python 등의 설치를 다 하였다면, Termux를 실행하고 아래 커맨드를 입력해 YouCompleteMe 플러그인 설치에 필요한 프로그램들을 설치한다.
pkg install vim-python git python clang cmake
그런 다음 아래 커맨드를 입력해 Vim 플러그인 매니저인 Vundle(Vim bundle)을 내려받는다. git clone 명령어에 익숙하지 않은 분들을 위해 덧붙이자면, git clone [레포지토리 URL] [폴더 경로] 명령어를 이용하면 원하는 git 레포지토리를 지정한 폴더에 내려받을 수 있다. 아래 명령어는 Vundle.vim 레포지토리를 .vim/bundle/Vundle.vim 폴더에 저장하라는 뜻이다.
git clone https://github.com/VundleVim/Vundle.vim.git ~/.vim/bundle/Vundle.vim
그다음에는 vim 설정 파일인 .vimrc를 편집해야 한다. .vimrc 편집 방법은 아래 글에 소개한 적이 있다.
Vim 사용법/설정 변경(.vimrc), 주요 단축키, 확장(Vim Surround)
.vimrc 파일의 최상단에 아래 코드들을 붙여 넣는다.
set nocompatible
filetype off
set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()
Plugin 'VundleVim/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'git://git.wincent.com/command-t.git'
Plugin 'file:///home/gmarik/path/to/plugin'
Plugin 'rstacruz/sparkup', {'rtp': 'vim/'}
Plugin 'ycm-core/YouCompleteMe'
call vundle#end()
filetype plugin indent on
내용이 복잡해 보이지만 Vundle 문서에서 그대로 복사해 붙여 넣고 YouCompleteMe 플러그인(밑에서 세번째 줄)만 추가한 것이다.
[참고] go 언어를 사용한다면 여기에서 vim-go 플러그인도 추가해 줘야 자동 완성이 된다. Plugin 'fatih/vim-go' |
이제 Vim을 실행하고, :PluginInstall 명령어를 입력한다. 그러면 Vim 창이 하나 더 열리면서 플러그인 설치가 진행될 것이다. 설치가 다 끝나면 다음과 같이 설치가 완료되었다는 메시지가 뜬다.
끝난 것 같지만 아직 끝난 것이 아니다. 여기까지는 PC에서 YouCompleteMe를 사용하려 해도 똑같이 거쳐야 하는 절차이고, Termux에서 정상적으로 사용하기 위한 추가적인 사항들이 남아 있다.
터미널로 돌아가 아래 커맨드를 입력해 Termux에서 YouCompleteMe를 실행시키기 위한 패치를 진행한다.
cd ~/.vim/bundle/YouCompleteMe/third_party/ycmd
curl https://gist.githubusercontent.com/micjabbour/ef6181f9a2cf17f90a5744fcf909438a/raw/ycmd_filesystem_patch.patch | git apply --3way -
위의 패치는 아래 깃허브 페이지에서 가져온 것이다.
https://gist.github.com/micjabbour/ef6181f9a2cf17f90a5744fcf909438a#solution
그런 다음 아래 커맨드로 install.py 파일을 실행해 설치를 진행한다.
python ~/.vim/bundle/YouCompleteMe/install.py --clangd-completer
[참고] go 언어 자동완성을 원한다면 --go-completer 옵션도 추가해줘야 한다. |
마지막으로 .vimrc 파일의 끝에 아래 코드 라인을 추가한다.
let g:ycm_clangd_binary_path="/data/data/com.termux/files/usr/bin/clangd"
이제 Vim 에디터를 열고 코드 추천이 되는지 보자. vim test.py 커맨드로 파이썬 파일을 하나 열고 아무 문자열이나 입력한 다음 마침표를 찍어본다. 그러면 아래 사진과 같이 문자열 관련 메서드들이 모두 추천될 것이다.
[참고] go 언어 자동 완성을 원한다면 마지막으로 터미널에서 아래 커맨드를 추가로 실행해 주자. vim +GoInstallBinaries 안 하더라도 기능은 작동을 하는데, 파일을 열 때 오류 메시지가 다수 표시되고, 로딩 속도도 조금 느려서 불편하다. |
3. 사용팁(미리보기 창 닫는 방법)
이제 Vim에서도 코드 추천을 받을 수 있게 됐다.
그런데 이를 사용하다 보면 조금 불편한 점이 있을 것이다. 아래 사진처럼 Preview 윈도우가 열리는데, 추천받은 코드를 입력하고 난 뒤에도 윈도우가 자동으로 닫히지 않는다.
이 때는 Ctrl + w를 누르고 z를 누르면 창이 닫힌다. :pc 커맨드를 입력해도 마찬가지로 창이 닫힌다. pc는 preview window close 정도로 외우면 될 것 같다.
만일 Preview 윈도우가 아예 안 열리게 하고 싶다면, .vimrc 파일에 아래 코드를 추가하면 된다고 한다.
set completeopt-=preview
'코딩 > Linux, Termux' 카테고리의 다른 글
텍스트 에디터(Vim, nano 등)로 리눅스 커맨드를 편리하게 편집하고 실행하기/linux, termux, bash (0) | 2022.04.25 |
---|---|
Vim 사용법/설정 변경(.vimrc), 주요 단축키, 확장(Vim Surround) (0) | 2022.04.12 |
리눅스 부팅 USB에 파이썬 데이터 분석 환경 세팅하기/VS Code, Anaconda, Jupyter notebook, etc. (0) | 2022.03.07 |
리눅스 부팅 USB를 만들어 내 개발환경 휴대하고 다니기/rufus, 리눅스민트 (1) | 2022.03.06 |
termux에서 위젯으로 파이썬 스크립트를 실행하는 방법 (0) | 2022.01.29 |
댓글