귀퉁이 서재

BLOG - 8. Neovim 설정 본문

블로그 프로젝트

BLOG - 8. Neovim 설정

Baek Kyun Shin 2019. 4. 6. 17:11

IUS-release.rpm 설치

home directory에서

sudo yum install -y https://centos7.iuscommunity.org/ius-release.rpm

IUS는 리눅스를 위한 Red-Hat Package Manager(RPM) 패키지를 제공하는 Community Project입니다. (Reference1)

파이썬 설치

본 블로그에서는 python을 사용하지 않습니다. 하지만 아래에서 설치할 Neovim을 사용하기 위해 python이 필요합니다. 파이썬은 아래와 같이 설치합니다.

sudo yum install -y python36u python36u-libs python36u-devel python36u-pip

파이썬을 설치한 뒤 아래와 같이 조금 손을 봐줘야합니다. 위와 같이 파이썬을 받아오면 python2와 python3가 같이 받아집니다. python2와 python3가 같이 있는 상황에서 python을 부르면 python2가 불립니다. python3는 python3라고 명시를 해줘야 합니다. python을 불렀을 때 python3를 불러오기 위해 아래와 같이 손을 봐주는 것입니다.

which python3.6
cd /usr/bin
sudo rm python3
sudo rm python
sudo rm pip 
sudo cp python3.6 python3
sudo cp python2.7 python
sudo cp pip3.6 pip

Neovim설치 및 권한 변경

Neovim의 목적은 쉽게 말해서 vim보다 Color를 많이 지원해 예쁜 코드 에디터를 제공하기 위함입니다.

cd
cd temp
wget https://github.com/neovim/neovim/releases/download/v0.3.1/nvim.appimage
chmod 755 nvim.appimage
./nvim.appimage --appimage-extract
cd squashfs-root
sudo mv usr/bin/nvim /usr/bin/nvim
sudo mv usr/share/nvim /usr/share/nvim
nvim

이렇게 하면 Neovim이 실행되는 걸 볼 수 있습니다. --appimage-extract는 appimage의 콘텐츠를 추출하는 기능을 한다. (Reference2)

chmod 755 에서 chmod는 change mode 의 약자이며, 대상 파일과 디렉토리의 사용권한을 변경하는 명렁어입니다. 문자열 모드와 8진법 수 모드가 있는데 755는 8진법 수 모드를 사용한 것입니다.

755에서
첫번째 숫자(7) = user의 권한
두번째 숫자(5) = group의 권한
세번째 숫자(5) = other의 권한
을 뜻합니다.

755 = rwxr-xr-x 로 풀어쓸 수 있습니다. r은 파일 읽기 = 4, w는 파일 쓰기 = 2, x는 파일 실행 = 1를 뜻합니다. 즉 755는 user는 읽고, 쓰고, 실행할 수 있고, group과 other은 읽고, 실행만 할 수 있다는 뜻입니다. 4 = 2^2, 2 = 2^1, 1 = 2^0이기 때문에 각각 4, 2, 1이고 8진법 수 모드라 하는 것입니다.

읽기, 쓰기, 실행이 가능하다고 할 때, r: 4, w:2, x:1이기 때문에 4+2+1 = 7이 되는 것이고, 읽기, 실행만 가능하다고 할 때는, r:4, x:1이기 때문에 4+1 = 5가 되는 것입니다. 이렇게 숫자의 조합으로 3자리를 표현하면 됩니다. chmod 777은 모든 보안을 꺼버립니다. (Reference3)

chmod로 권한을 변경하기 전 nvim.appimage의 권한은 아래와 같이 664입니다. (ls -al로 권한을 자세히 볼 수 있음)

-rw-rw-r-- : 파일 접근 권한 분류 표기로, 처음 -는 파일 분류 타입을 뜻합니다. (파일 타입 : d 디렉토리, l(소문자 L) 링크 카운터, s 소켓, p 파이프, - 일반, c 특수문자, b 특수블럭)

664이면 실행이 안되므로 아래와 같이 실행이 가능하게 755로 바꿔줬습니다. 또한, user말고 다른 사람은 파일 쓰기를 못하게 한 것입니다.

sudo mv usr/bin/nvim /usr/bin/nvim
sudo mv usr/share/nvim /usr/share/nvim

위 코드는 현재 temp/squashfs-root 디렉토리 안에 있는 nvim을 환경변수가 있는 곳으로 옮겨준다는 뜻입니다. nvim도 어디서든 사용할 수 있게 하는 명령어입니다.

Vundle 설치

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

Vundle은 vim + Bundle의 합성어로 vim의 플러그인을 통합 관리해주는 도구입니다.

Vim config 설치

cd ~/.config
git clone https://github.com/hrzon/mjVimPack
mv mjVimPack nvim
nvim
# (enter, esc 후에)
:PluginInstall
:UpdateRemotePlugins
:q
nvim

명재선생님이 만들어 놓은 mjVimPack을 nvim으로 수정하고 실행하면 정상적으로 작동하는 것을 볼 수 있습니다. 이제 .zshrc에 아래 코드를 추가해줍니다. 그러면 nvim이 아니라 v라고만 쳐도 nvim을 실행시킬 수 있습니다.

alias v="nvim"

2019. 2. 11.

References

Reference1( https://ius.io/)
Reference2 (https://github.com/AppImage/AppImageKit/wiki/Extracting-AppImages)
Reference3 (http://www.incodom.kr/Linux/%EA%B8%B0%EB%B3%B8%EB%AA%85%EB%A0%B9%EC%96%B4/chmod)
asciinema 참고: https://asciinema.org/a/qBMF7yvND6IbGyY7CxfmT8D4M

Comments