noice
- neovim의 메시지, cmdline, popup을 개선
- Noice Diable로 끌 수 있다.
- vim 명령어 모드를 ui 입력창으로 보여줌
mini.move
gitsigns
- editor에 git 변경된 줄 표시
- :Gitsigns <옵션>옵션>
- numhl, signs(형광표시), linehl, deleted, word_diff, current_line_blame 등
- :LazyExtras 통해서 추가 플러그인 넣을수 있다. (*원하는 플러그인에서 key)
- lang.java, lang.kotlin
colorscheme lazy load
- :Lazy load gruvbox -> colorscheme gruvbox : 플러그인 추가로드 후 변경
lazygit
- 터미널 기반 git UI
- neovi에서 lazygit 을 띄우는 플러그인 설치
1
2
3
4
5
6
7
| return {
"kdheepak/lazygit.nvim",
lazy = true,
dependencies = {
"nvim-lua/plenary.nvim",
},
}
|
Mason
LSP 관련 shortcut
| 단축키 | 명령 | 설명 |
|---|
gD | typescript.goToSourceDefinition | 커서 심볼의 소스 정의로 점프 (Declaration/Definition) |
gR | typescript.findAllFileReferences | 현재 파일 내에서 심볼 모든 참조 검색 |
<leader>co | source.organizeImports | 현재 파일 import 정리 |
<leader>cM | source.addMissingImports.ts | 누락된 TypeScript import 자동 추가 |
<leader>cu | source.removeUnused.ts | 사용하지 않는 import/변수 제거 |
<leader>cD | source.fixAll.ts | TypeScript 관련 모든 diagnostics 자동 수정 |
<leader>cV | typescript.selectTypeScriptVersion | TS workspace 버전 선택 |
- Neovim용 포맷터 통합 플러그인
- 여러 언어의 코드 포맷터를 하나의 인터페이스로 관리
- 설정만 하면, 언어별로 여러 포맷터(prettier, black, ktlint 등)를 자동으로 선택/실행 가능
- 장점: LSP와 독립적, 다양한 파일 타입 지원, LazyVim에서도 기본적으로 사용
1
| ~/.local/state/nvim/conform.log -- conform.nvim log file
|
- 언어별 주석 토글 기능 제공
- 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
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.pairs
flash.nvim
- 한 화면 내에서 빠르게 점프할 수 있는 플러그인
| 상황 | 동작 | 키 |
|---|
| 단어/문자 점프 | 현재 버퍼 내에서 해당 문자로 빠르게 이동 | s{문자} |
| 단어 전체 점프 | 문장 단위, 줄 단위 등으로 확장 점프 | S |
| 시각 모드 선택 중 점프 | 선택 영역 내에서 빠르게 이동 | v → s |
| Treesitter 연동 탐색 | 함수/변수 정의 단위로 점프 가능 | s (코드 구조 모드) |
| 플래시 하이라이트 종료 | 플래시 모드 종료 | <Esc> |
gruv-far
- 프로젝트 전체 검색/치환 UI
- 파일 탐색기 플러그인
| 명령 | 설명 | 표시 방식 |
|---|
:TodoTelescope | Telescope UI로 검색 | Floating Picker |
:TodoQuickFix | Quickfix 목록으로 보기 | 하단 리스트 |
:TodoTrouble | Trouble.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>xx | Trouble Diagnostics 토글 |
<leader>xX | 현재 버퍼 Diagnostics |
<leader>xq | QuickFix 목록 |
<leader>xl | Location List |
<leader>xt | TODO 목록 (todo-comments.nvim과 연동) |
| 모드 | 설명 | Vim 내부 데이터 구조 |
|---|
| Diagnostics | LSP, 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 + @, @에 소문자->root, 대문자->current
GrugFar
- 프로젝트 전체 검색/치환 UI[
- sr : 프로젝트 전체 치환
- :GruvFar, :GrugFarWithin
| 명령어 | ripgrep 실행 위치 | typical 내부 명령 |
|---|
:GrugFar | 현재 프로젝트 root | rg --vimgrep <pattern> . |
:GrugFarWithin | 지정된 path (또는 현재 파일) | rg --vimgrep <pattern> <path> |
bufferline.nvim
| 명령어 | 설명 | | ————— | ——————- | | bp | Toggle pin buffer | | bP | Delete Non-pinned buffers |