snacks.nvim
v2.4.0
snacks.nvim
Neovim용 작은 QoL 플러그인 모음입니다.
간식 | 설명 | 설정 |
---|---|---|
큰 파일 | 대용량 파일 처리 | |
삭제하다 | 창 레이아웃을 방해하지 않고 버퍼 삭제 | |
계기반 | 아름다운 선언적 대시보드 | |
디버그 | 디버깅을 위한 예쁜 검사 및 역추적 | |
자식 | Git에 유용한 기능 | |
gitbrowse | 브라우저(예: GitHub)에서 활성 파일의 저장소를 엽니다. | |
게으른기트 | 부동 소수점에서 LazyGit을 열고 자동 구성 색상 구성 및 Neovim과 통합 | |
통지하다 | Neovim의 vim.notify 와 함께 작동하는 유틸리티 기능 | |
알리미 | 더 좋고 더 예뻐진 vim.notify | |
빠른 파일 | nvim somefile.txt 수행하면 플러그인을 로드하기 전에 최대한 빨리 파일을 렌더링합니다. | |
이름 바꾸기 | neo-tree.nvim 및 mini.files와 같은 플러그인을 지원하는 LSP 통합 파일 이름 바꾸기. | |
상태 열 | 예쁜 상태 열 | |
단말기 | 부동/분할 터미널 생성 및 전환 | |
비녀장 | 키 아이콘/색상과 통합된 키맵 전환 | |
이기다 | 부동 창 또는 분할을 쉽게 생성 및 관리 | |
단어 | LSP 참조를 자동으로 표시하고 해당 참조 사이를 빠르게 탐색합니다. |
패키지 관리자를 사용하여 플러그인을 설치합니다.
중요한
몇 가지 플러그인을 사용하려면 snacks.nvim
을 조기에 설정 해야 합니다 . 설치 프로그램은 일부 autocmd를 생성하고 플러그인을 로드하지 않습니다. 코드를 확인하여 그것이 무엇을 하는지 알아보세요.
주의
플러그인에 대한 옵션을 명시적으로 전달하거나 enabled = true
로 설정하여 활성화해야 합니다.
팁
모든 것이 올바르게 설정되었는지 확인하려면 :checkhealth snacks
실행하는 것이 좋습니다.
{
" folke/snacks.nvim " ,
priority = 1000 ,
lazy = false ,
opts = {
-- your configuration comes here
-- or leave it empty to use the default settings
-- refer to the configuration section below
bigfile = { enabled = true },
notifier = { enabled = true },
quickfile = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = true },
},
}
lazy.nvim
사용하여 snacks.nvim
을 심층적으로 설정하려면 아래 예를 확인하세요.
특정 구성에 대해서는 각 플러그인의 추가 정보를 참조하세요.
--- @class snacks.Config
--- @field bigfile ? snacks.bigfile.Config | { enabled : boolean }
--- @field gitbrowse ? snacks.gitbrowse.Config
--- @field lazygit ? snacks.lazygit.Config
--- @field notifier ? snacks.notifier.Config | { enabled : boolean }
--- @field quickfile ? { enabled : boolean }
--- @field statuscolumn ? snacks.statuscolumn.Config | { enabled : boolean }
--- @field styles ? table<string , snacks.win.Config>
--- @field dashboard ? snacks.dashboard.Config | { enabled : boolean }
--- @field terminal ? snacks.terminal.Config
--- @field toggle ? snacks.toggle.Config
--- @field win ? snacks.win.Config
--- @field words ? snacks.words.Config
{
styles = {},
bigfile = { enabled = false },
dashboard = { enabled = false },
notifier = { enabled = false },
quickfile = { enabled = false },
statuscolumn = { enabled = false },
words = { enabled = false },
}
snacks.nvim
구성하는 방법은 아래 예를 참조하세요.
{
" folke/snacks.nvim " ,
priority = 1000 ,
lazy = false ,
--- @type snacks.Config
opts = {
bigfile = { enabled = true },
dashboard = { enabled = true },
notifier = {
enabled = true ,
timeout = 3000 ,
},
quickfile = { enabled = true },
statuscolumn = { enabled = true },
words = { enabled = true },
styles = {
notification = {
wo = { wrap = true } -- Wrap notifications
}
}
},
keys = {
{ " <leader>un " , function () Snacks . notifier . hide () end , desc = " Dismiss All Notifications " },
{ " <leader>bd " , function () Snacks . bufdelete () end , desc = " Delete Buffer " },
{ " <leader>gg " , function () Snacks . lazygit () end , desc = " Lazygit " },
{ " <leader>gb " , function () Snacks . git . blame_line () end , desc = " Git Blame Line " },
{ " <leader>gB " , function () Snacks . gitbrowse () end , desc = " Git Browse " },
{ " <leader>gf " , function () Snacks . lazygit . log_file () end , desc = " Lazygit Current File History " },
{ " <leader>gl " , function () Snacks . lazygit . log () end , desc = " Lazygit Log (cwd) " },
{ " <leader>cR " , function () Snacks . rename . rename_file () end , desc = " Rename File " },
{ " <c-/> " , function () Snacks . terminal () end , desc = " Toggle Terminal " },
{ " <c-_> " , function () Snacks . terminal () end , desc = " which_key_ignore " },
{ " ]] " , function () Snacks . words . jump ( vim . v . count1 ) end , desc = " Next Reference " , mode = { " n " , " t " } },
{ " [[ " , function () Snacks . words . jump ( - vim . v . count1 ) end , desc = " Prev Reference " , mode = { " n " , " t " } },
{
" <leader>N " ,
desc = " Neovim News " ,
function ()
Snacks . win ({
file = vim . api . nvim_get_runtime_file ( " doc/news.txt " , false )[ 1 ],
width = 0.6 ,
height = 0.6 ,
wo = {
spell = false ,
wrap = false ,
signcolumn = " yes " ,
statuscolumn = " " ,
conceallevel = 3 ,
},
})
end ,
}
},
init = function ()
vim . api . nvim_create_autocmd ( " User " , {
pattern = " VeryLazy " ,
callback = function ()
-- Setup some globals for debugging (lazy-loaded)
_G . dd = function (...)
Snacks . debug . inspect ( ... )
end
_G . bt = function ()
Snacks . debug . backtrace ()
end
vim . print = _G . dd -- Override print to use snacks for `:=` command
-- Create some toggle mappings
Snacks . toggle . option ( " spell " , { name = " Spelling " }): map ( " <leader>us " )
Snacks . toggle . option ( " wrap " , { name = " Wrap " }): map ( " <leader>uw " )
Snacks . toggle . option ( " relativenumber " , { name = " Relative Number " }): map ( " <leader>uL " )
Snacks . toggle . diagnostics (): map ( " <leader>ud " )
Snacks . toggle . line_number (): map ( " <leader>ul " )
Snacks . toggle . option ( " conceallevel " , { off = 0 , on = vim . o . conceallevel > 0 and vim . o . conceallevel or 2 }): map ( " <leader>uc " )
Snacks . toggle . treesitter (): map ( " <leader>uT " )
Snacks . toggle . option ( " background " , { off = " light " , on = " dark " , name = " Dark Background " }): map ( " <leader>ub " )
Snacks . toggle . inlay_hints (): map ( " <leader>uh " )
end ,
})
end ,
}
하이라이트 그룹 | 기본 그룹 | 설명 |
---|---|---|
간식보통 | 노멀플로트 | 플로트 창의 경우 일반 |
스낵WinBar | 제목 | 창 제목 |
간식배경 | 없음 | 배경 |
간식노멀NC | 노멀플로트 | 현재가 아닌 창의 경우 일반 |
스낵WinBarNC | 스낵WinBar | 현재가 아닌 창의 제목 |
간식알림정보 | 없음 | 정보 알림 창 |
간식알림경고 | 없음 | 경고 알림 창 |
SnacksNotifier디버그 | 없음 | 디버그 알림 창 |
SnacksNotifierError | 없음 | 오류 알림 창 |
간식 알리미추적 | 없음 | Trace 알림 창 |
간식알림아이콘정보 | 없음 | 정보 알림 아이콘 |
간식알림아이콘경고 | 없음 | 경고 알림 아이콘 |
스낵알림기아이콘디버그 | 없음 | 디버그 알림 아이콘 |
간식알림아이콘오류 | 없음 | 오류 알림 아이콘 |
간식통지기아이콘추적 | 없음 | 추적 알림 아이콘 |
간식알림제목정보 | 없음 | 정보 알림 제목 |
간식알림제목경고 | 없음 | 경고 알림 제목 |
SnacksNotifier제목디버그 | 없음 | 디버그 알림 제목 |
SnacksNotifierTitleError | 없음 | 오류 알림 제목 |
간식알림제제목추적 | 없음 | 추적 알림 제목 |
간식알림경계정보 | 없음 | 정보 알림의 테두리 |
간식알림경계경고 | 없음 | 경고 알림 테두리 |
SnacksNotifierBorderDebug | 없음 | 디버그 알림 테두리 |
SnacksNotifierBorderError | 없음 | 오류 알림 테두리 |
스낵알림기경계추적 | 없음 | 추적 알림의 테두리 |
스낵알리미바닥글정보 | 진단정보 | 정보 알림 바닥글 |
간식알림바닥글경고 | 진단경고 | 경고 알림 바닥글 |
SnacksNotifier바닥글디버그 | 진단힌트 | 디버그 알림 바닥글 |
SnacksNotifierFooterError | 진단오류 | 오류 알림 바닥글 |
SnacksNotifier바닥글추적 | 진단힌트 | 추적 알림 바닥글 |
간식대시보드일반 | 정상 | 대시보드의 경우 일반 |
스낵대시보드설명 | 특별한 | 대시보드의 설명 텍스트 |
간식대시보드파일 | 특별한 | 대시보드 파일 항목 |
간식대시보드Dir | 텍스트가 아닌 | 디렉토리 항목 |
스낵대시보드바닥글 | 제목 | 대시보드 바닥글 텍스트 |
간식대시보드헤더 | 제목 | 대시보드 헤더 텍스트 |
간식대시보드아이콘 | 특별한 | 대시보드 아이콘 |
간식대시보드키 | 숫자 | 키바인드 텍스트 |
스낵대시보드단말기 | 간식대시보드일반 | 터미널 텍스트 |
간식대시보드특별 | 특별한 | 특수 요소 |
간식대시보드제목 | 제목 | 제목 텍스트 |