Post

LazyVim 관련 메모

LazyVim 관련 메모

noice

  • neovim의 메시지, cmdline, popup을 개선
  • Noice Diable로 끌 수 있다.
  • vim 명령어 모드를 ui 입력창으로 보여줌

mini.move

  • , 로 줄 이동

gitsigns

  • editor에 git 변경된 줄 표시
  • :Gitsigns <옵션>
  • numhl, signs(형광표시), linehl, deleted, word_diff, current_line_blame 등

LazyExtras

  • :LazyExtras 통해서 추가 플러그인 넣을수 있다. (*원하는 플러그인에서 key)
  • lang.java, lang.kotlin

colorscheme lazy load

  • :Lazy load gruvbox -> colorscheme gruvbox : 플러그인 추가로드 후 변경

lazygit

  • 터미널 기반 git UI
    1
    
    brew isntall lazygit
    
  • neovi에서 lazygit 을 띄우는 플러그인 설치
1
2
3
4
5
6
7
return {
  "kdheepak/lazygit.nvim",
  lazy = true,
  dependencies = {
    "nvim-lua/plenary.nvim",
  },
}
  • gg : lazygit 실행

Mason

  • Mason은 LSP, DAP, 포매터, 린터 등을 쉽게 설치하고 관리할 수 있는 플러그인.
  • LazyExtras에 mason이 포함되어 있으므로 별도 설치 불필요

  • 별도 설지할 경우 아래와 같이 설치가 가능
    1
    2
    
    :MasonInstall typescript-language-server // mason tyscript-language-server 설치
    :MasonInstall jdtls
    

LSP 관련 shortcut

단축키명령설명
gDtypescript.goToSourceDefinition커서 심볼의 소스 정의로 점프 (Declaration/Definition)
gRtypescript.findAllFileReferences현재 파일 내에서 심볼 모든 참조 검색
<leader>cosource.organizeImports현재 파일 import 정리
<leader>cMsource.addMissingImports.ts누락된 TypeScript import 자동 추가
<leader>cusource.removeUnused.ts사용하지 않는 import/변수 제거
<leader>cDsource.fixAll.tsTypeScript 관련 모든 diagnostics 자동 수정
<leader>cVtypescript.selectTypeScriptVersionTS workspace 버전 선택

conform.nvim

  • Neovim용 포맷터 통합 플러그인
  • 여러 언어의 코드 포맷터를 하나의 인터페이스로 관리
  • 설정만 하면, 언어별로 여러 포맷터(prettier, black, ktlint 등)를 자동으로 선택/실행 가능
  • 장점: LSP와 독립적, 다양한 파일 타입 지원, LazyVim에서도 기본적으로 사용
1
~/.local/state/nvim/conform.log -- conform.nvim log file

coding.mini-comment

  • 언어별 주석 토글 기능 제공
  • gc : 주석 toggle

coding.mini-surround

  • 문자열 주변 문자 추가/삭제
  • surround.vim을 기반으로 최소 필요 기능만 구현

snack - + e

  • P : toggle Preview
  • Z : close all folds
  • H : toggle hidden files
  • I : toggle .files(ignore)
  • l : confirm
  • . : focus current file on explorer
  • : vertical split
  • : horizontal split
  • : select all
  • : preview scroll down
  • : preview scroll up
  • i : 검색창 focus
  • / : toggle focus
  • ? : toggle help

RenderMarkdown

  • RenderMarkdown plugin은 lazyvim설정에 기본적으로 활성화 되어있다.
  • 아래와 같이 기본 비활성화 후, :RenderMarkdown toggle 명령어로 활성화/비활성화 가능
  • or :RenderMarkdown enable/disable
    1
    2
    3
    4
    5
    6
    7
    8
    9
    
    -- ~/.config/nvim/lua/plugins/render-markdown.lua
    return {
    {
      "MeanderingProgrammer/render-markdown.nvim",
      opts = {
        enabled = false,
      },
    },
    }
    

Markdown Preview

  • 마크다운 미리보기 플러그인
  • :MarkdownPreviewToggle 명령어로 미리보기 창 토글

WhichKey

  • which-key는 등록된 keymap과 설정된 prefix 그룹을 탐지.
  • prefix 키 조합을 누르면 관련 명령어 그룹과 설명을 팝업으로 표시

Undotree

  • + s + u : undotree 토글

Copilot Chat

    • a + a : Toggle copilot chat
    • a + p : Prompt for copilot chat
    • a + q : quit copilot chat
    • a + x : clear copilot chat

mini.ai

  • vai, vi”, vi’, vi(, vi[, vi{, vi<, vi`, viB, vib, viw, viW
  • 다양한 텍스트 객체 지원

mini.comment

  • 주석 플러그인
  • gcc : 현재 줄 주석 토글

mini.pairs

  • 자동적용

flash.nvim

  • 한 화면 내에서 빠르게 점프할 수 있는 플러그인
상황동작
단어/문자 점프현재 버퍼 내에서 해당 문자로 빠르게 이동s{문자}
단어 전체 점프문장 단위, 줄 단위 등으로 확장 점프S
시각 모드 선택 중 점프선택 영역 내에서 빠르게 이동vs
Treesitter 연동 탐색함수/변수 정의 단위로 점프 가능s (코드 구조 모드)
플래시 하이라이트 종료플래시 모드 종료<Esc>

gruv-far

  • 프로젝트 전체 검색/치환 UI
  • 파일 탐색기 플러그인

todo-comments

명령설명표시 방식
:TodoTelescopeTelescope UI로 검색Floating Picker
:TodoQuickFixQuickfix 목록으로 보기하단 리스트
:TodoTroubleTrouble.nvim UI로 보기사이드 패널
탐지 키워드TODO / FIXME / BUG / HACK / WARN / NOTE / PERF / TEST주석 내

trouble.nvim

  • 문제점, 경고, TODO 등을 사이드 패널로 시각화
  • xx : 토글

| 항목 | 설명 | | ———————————- | ———————————————————————————- | | 🔧 LSP Diagnostics 연동 | :Trouble diagnostics 또는 :TroubleToggle diagnostics 명령으로 LSP 에러/워닝 등을 트리 뷰로 표시. | | 🧭 QuickFix / Location List 연동 | :Trouble quickfix, :Trouble loclist 로 QuickFix/LocList 내용을 트리 형태로 탐색 가능. | | 📝 TODO Comments 연동 | todo-comments.nvim과 함께 쓸 때 :TodoTrouble 로 TODO/FIXME 표시 가능. | | 💡 References / Definitions | :Trouble lsp_references, :Trouble lsp_definitions 등으로 LSP jump 대상 목록을 시각화. | | 🧩 Telescope 통합 | Telescope에서 선택한 결과를 Trouble로 열 수 있음 (require("trouble").open_with_trouble). |

기능
<leader>xxTrouble Diagnostics 토글
<leader>xX현재 버퍼 Diagnostics
<leader>xqQuickFix 목록
<leader>xlLocation List
<leader>xtTODO 목록 (todo-comments.nvim과 연동)
모드설명Vim 내부 데이터 구조
DiagnosticsLSP, nvim-lint 등에서 제공하는 에러/워닝/정보 표시Diagnostics API (버퍼 단위 또는 전역)
Quickfix:copen으로 열리는 Quickfix 목록을 트리 UI로 표시Quickfix List (전역 범위, 여러 버퍼 포함 가능)
Location List현재 버퍼 중심의 문제/검색 결과를 트리 UI로 표시Location List (현재 버퍼 전용)

disagnostic 시스템 흐름도

[LSP 서버들] ↓ Neovim 내장 Diagnostic 시스템 (vim.diagnostic) ↓ LazyVim UI 계층 ├─ Trouble.nvim → 진단 목록 패널 (xx) ├─ Noice.nvim → 메시지 / 경고 팝업 ├─ Telescope.nvim → 진단 검색 (fD 등) ├─ Lualine.nvim → 상태줄의 에러/경고 카운트 └─ Virtual Text / Signs → 코드 옆의 빨간줄, 아이콘


Snacks.dashboard

  • lazyvim 시작 화면에 나오는 대시보드
  • 스타트 이후에 재진입 하려면? :lua Snacks.dashboard() 를 통해 재진입 가능

Lazyvim 의 탐색

    • f + (b or B) : 버퍼 검색
    • f + c : lazy config 검색
    • f + (f or F) : 파일 검색
    • f + g : git 파일 검색
    • f + (r or R) : 최근 파일 검색
    • f + p : 프로젝트 검색
  • f + @, @에 소문자->root, 대문자->current

GrugFar

  • 프로젝트 전체 검색/치환 UI[
  • sr : 프로젝트 전체 치환
  • :GruvFar, :GrugFarWithin
명령어ripgrep 실행 위치typical 내부 명령
:GrugFar현재 프로젝트 rootrg --vimgrep <pattern> .
:GrugFarWithin지정된 path (또는 현재 파일)rg --vimgrep <pattern> <path>

bufferline.nvim

| 명령어 | 설명 | | ————— | ——————- | | bp | Toggle pin buffer | | bP | Delete Non-pinned buffers |

This post is licensed under CC BY 4.0 by the author.