현재 연구실에서 개발해야하는 환경이 Vim을 안 쓰고서는 도저히 할 수 없는 구조여서, 다시 LunarVIM으로 회귀해본다.

LunarVim을 깔기 이전에 이것 저것 깔아야하는데, 이 과정을 까먹지 않기 위해 기록으로 남긴다 (늘 NeoVim깔 때 버전 문제가 있었기 때문….).

0. 설치해야할 것들

공식 홈페이지 참조. 대체로 쉽게쉽게 설치 가능

1. NeoVIM 설치

이상하게 NeoVim을 sudo apt-get install로 설치하려고 하면 너무 구 버전이 설치된다. 그래서 아래와 같이 설치해야 한다.

wget https://github.com/neovim/neovim/releases/download/v0.9.0/nvim-linux64.tar.gz
tar -xzvf nvim-linux64.tar.gz
sudo mv nvim-linux64 /usr/local/
sudo ln -s /usr/local/nvim-linux64/bin/nvim /usr/bin/nvim

2. NeoVIM Vundle 설치

Ubuntu 20.04에서 NeoVim을 설치했더니, 내가 예전에 세팅해준 .config/nvim에 있던 플러그인들이랑 충돌이 났음.

몰랐는데, Vundle의 지원이 끝났다고 한다…그래서 vim-plug로 바꿔줘야 한다 (참고 링크는 여기)

sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs \
       https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'

3. NodeJS 버전 업데이트

깔고보니 CoC (Conquer of Completion)이라는 플러그인과 NodeJs버전 출동이 일어남 (v16.18.0보다 높아야 한다고 에러가 발생)

이는 아래와 같이 간단히 해결할 수 있다 (현재 내 컴퓨터에서는 npm이 깔려 있었었다):

sudo npm install -g n
sudo n lts
sudo n latest
sudo n prune

(minor): 필수는 아닌듯한데, LunarVim 설치시 tree-sitter-cli를 설치하겠냐고 물어보더라. 그래서 미리 npm으로 깔아뒀다.

sudo npm install tree-sitter-cli

4. LunarVim 설치

(Aug. 13, 2024 기준) 자신의 NeoVIM 버전에 맞는 LunarVim을 설치하면 된다. 지금 시각 기준으로는 아래 버전이 stable 버전이어서 이걸로 설치했다.

LV_BRANCH='release-1.4/neovim-0.9' bash <(curl -s https://raw.githubusercontent.com/LunarVim/LunarVim/release-1.4/neovim-0.9/utils/installer/install.sh)

그리고 clipboard 연동을 위해서라면 아래의 명령어로 클립보드 관련 패키지를 설치해줘야 한다:

sudo apt-get install xclip xsel

ROS Launch file highlight?

기본적으로 LunarVim으로 ROS의 launch 파일을 열면 highlight가 되지 않는데, config.lua에 다음과 같이 두개 추가하니 해결이 되었다.

  1. launch 파일 xml파일로 취급하게 세팅하기
vim.cmd([[
  autocmd BufNewFile,BufRead *.launch setfiletype xml
]])

  1. 아래의 treesitter에 "xml" 추가해주기
lvim.builtin.treesitter.ensure_installed = {
  "bash",
  "c",
  "cpp",
  "javascript",
  "json",
  "lua",
  "python",
  "typescript",
  "tsx",
  "css",
  "rust",
  "java",
  "yaml",
  "xml", -- for ROS launch file
}