--- title: Neovim + LazyVim DevOps 환경 구성 date: 2026-06-29 type: guide domain: homelab tags: [neovim, lazyvim, devops, editor] --- **날짜**: 2026-02-21 **목적**: DevOps/SRE 작업(YAML, Bash, Dockerfile, Terraform, JSON)에 최적화된 nvim IDE 환경 --- ## 설치 요약 | 항목 | 내용 | |---|---| | Neovim | v0.11.6 (appimage, `/usr/local/bin/nvim`) | | 배포판 | LazyVim (starter template) | | LSP | yaml, bash, dockerfile, terraform, json (extras로 자동 구성) | | 파일 탐색 | snacks.nvim (LazyVim 기본 picker) + ripgrep + fd | | 구문 강조 | treesitter | | 아이콘 | JetBrainsMono Nerd Font | ## 설치된 구성 요소 ### 시스템 패키지 ```bash sudo apt install -y ripgrep fd-find cmake ``` ### Neovim (appimage) ```bash curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage chmod +x nvim-linux-x86_64.appimage sudo mv nvim-linux-x86_64.appimage /usr/local/bin/nvim ``` ### Nerd Font - JetBrainsMono Nerd Font → `~/.local/share/fonts/` - 터미널 에뮬레이터에서 "JetBrainsMono Nerd Font" 선택 필요 ### LazyVim ```bash git clone https://github.com/LazyVim/starter ~/.config/nvim rm -rf ~/.config/nvim/.git ``` ## 커스텀 설정 파일 ### `~/.config/nvim/lua/plugins/devops-extras.lua` DevOps 관련 LazyVim extras 활성화: - `lang.yaml` — yamlls LSP, YAML treesitter - `lang.json` — jsonls LSP, JSON treesitter - `lang.docker` — dockerls LSP, Dockerfile treesitter - `lang.terraform` — terraform-ls LSP, HCL treesitter ### `~/.config/nvim/lua/config/options.lua` - 줄번호 + 상대 줄번호 - 탭/들여쓰기 2칸 (YAML 기본) - 시스템 클립보드 연동 (`unnamedplus`) ## 주요 키바인딩 (LazyVim 기본) | 키 | 동작 | |---|---| | `` | Leader key | | `ff` | 파일 검색 (picker) | | `fg` | 라이브 grep | | `e` | 파일 탐색기 (neo-tree) | | `l` | Lazy 플러그인 매니저 | | `K` | LSP hover 문서 | | `gd` | 정의로 이동 | | `ca` | 코드 액션 | | `cf` | 포맷팅 | ## 사후 작업 (수동) 1. **터미널 폰트 설정**: 터미널 에뮬레이터에서 "JetBrainsMono Nerd Font"로 변경 2. **LSP 서버 설치**: 첫 `nvim` 실행 시 Mason이 자동으로 LSP 서버 설치 (`:Mason`으로 확인) 3. **treesitter 파서 설치**: 파일을 열면 자동 설치됨 (`:TSInstall yaml json bash dockerfile hcl`) ## 업데이트 방법 nvim 내에서: - `:Lazy sync` — 플러그인 업데이트 - `:Mason` — LSP 서버 관리 - `:TSUpdate` — treesitter 파서 업데이트 Neovim 자체 업데이트: ```bash curl -LO https://github.com/neovim/neovim/releases/latest/download/nvim-linux-x86_64.appimage chmod +x nvim-linux-x86_64.appimage sudo mv nvim-linux-x86_64.appimage /usr/local/bin/nvim ```