기존 Neovim 인스턴스에서 파일 열기

nvr 활용 가이드

Posted by Dongho's DevLog on May 27, 2025

기존 Neovim 인스턴스에서 파일 열기: nvr 활용 가이드

개발 중 여러 파일을 동시에 다룰 때, 터미널에서 nvim file.txt를 입력하면 새로운 Neovim 인스턴스가 열리는 경우가 많습니다. 하지만 이 방식은 이미 실행 중인 Neovim 세션이 있다면 비효율적일 수 있습니다.

“기존에 열려 있는 Neovim 인스턴스에서 파일을 열 수 없을까?”

물론 가능합니다. 이를 위한 도구가 바로 nvr(Neovim Remote)입니다.

목표

  • 기존 Neovim 인스턴스에 새 파일을 전송해서 열기
  • 원한다면 수직/수평 분할 또는 새 탭으로 열기
  • nvim을 IDE처럼 유지하면서 터미널에서 빠르게 파일 열기

1. nvr 설치하기

nvr은 Python으로 제공되는 툴로 pip를 통해 간단히 설치할 수 있습니다.

1
pip install neovim-remote

archlinux의 경우 pipx 를 사용하세요.

1
pipx install neovim-remote

2. Neovim을 서버 모드로 실행하기

기존 Neovim 인스턴스가 외부에서 명령을 받을 수 있도록 --listen 옵션으로 실행해야 합니다.

1
nvim --listen /tmp/nvimsocket

혹은 init.vim 또는 init.lua에 아래와 같이 자동으로 서버를 시작하도록 설정할 수 있습니다:

init.vim (Vimscript)

1
call serverstart('/tmp/nvimsocket')

init.lua (Lua)

1
vim.fn.serverstart("/tmp/nvimsocket")

3. 기존 인스턴스에서 파일 열기

이제는 Neovim 인스턴스를 띄워두고, 다른 터미널에서 다음과 같이 실행하면 됩니다:

1
nvr --servername /tmp/nvimsocket path/to/file

4. 다양한 열기 방식

목적 명령어
현재 창에서 열기 nvr path/to/file
수평 분할로 열기 nvr --remote-split path/to/file
수직 분할로 열기 nvr --remote-vsplit path/to/file
새 탭에서 열기 nvr --remote-tabnew path/to/file

5. 편리한 별칭(alias) 설정

매번 긴 명령어를 치는 건 불편하니, .bashrc 또는 .zshrc에 alias를 설정해두면 편합니다.

1
alias e='nvr --servername /tmp/nvimsocket --remote'

이제는 그냥 이렇게:

1
e file.txt

결론

Neovim의 서버 모드를 적극 활용하면, 기존 인스턴스에서 여러 파일을 유기적으로 관리할 수 있어 생산성이 크게 향상됩니다. 특히 Tiling Window Manager 환경이나 터미널 기반 작업에 익숙한 개발자에게는 훌륭한 워크플로우 개선책이 될 수 있습니다.


참고 자료