snacks.nvim
Una colección de pequeños complementos de calidad de vida para Neovim.
Bocadillo | Descripción | Configuración |
---|---|---|
archivo grande | Tratar con archivos grandes | |
eliminar bufé | Eliminar buffers sin alterar el diseño de la ventana | |
panel | Hermosos paneles declarativos | |
depurar | Bastante inspección y seguimiento para depurar | |
git | Funciones útiles para Git | |
gitbrowser | Abra el repositorio del archivo activo en el navegador (por ejemplo, GitHub) | |
perezoso | Abra LazyGit en un flotador, configure automáticamente el esquema de colores y la integración con Neovim | |
notificar | Funciones de utilidad para trabajar con vim.notify de Neovim | |
notificador | Mejor y más bonito vim.notify | |
archivo rápido | Al hacer nvim somefile.txt , procesará el archivo lo más rápido posible, antes de cargar sus complementos. | |
rebautizar | Cambio de nombre de archivos integrado en LSP con soporte para complementos como neo-tree.nvim y mini.files. | |
columna de estado | Bonita columna de estado | |
Terminal | Crear y alternar terminales flotantes/divididos | |
palanca | Alternar mapas de teclas integrados con iconos/colores de qué tecla | |
ganar | Cree y administre fácilmente ventanas flotantes o divisiones | |
palabras | Mostrar automáticamente referencias de LSP y navegar rápidamente entre ellas |
Instale el complemento con su administrador de paquetes:
Importante
Un par de complementos requieren que snacks.nvim
se configure con anticipación. El programa de instalación crea algunos autocmds y no carga ningún complemento. Verifique el código para ver qué hace.
Precaución
Debe pasar explícitamente las opciones de un complemento o configurar enabled = true
para habilitarlo.
Consejo
Es una buena idea ejecutar :checkhealth snacks
para ver si todo está configurado correctamente.
{
" 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 },
},
}
Para una configuración detallada de snacks.nvim
con lazy.nvim
, consulte el siguiente ejemplo.
Consulte el archivo Léame de cada complemento para conocer su configuración específica.
--- @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 },
}
Consulte el ejemplo siguiente para saber cómo configurar 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 ,
}
Grupo destacado | Grupo predeterminado | Descripción |
---|---|---|
BocadillosNormal | Flotación normal | Normal para la ventana flotante |
AperitivosWinBar | Título | Título de la ventana |
AperitivosTelón De Fondo | ninguno | Fondo |
BocadillosNormalNC | Flotación normal | Normal para ventanas no actuales |
AperitivosWinBarNC | AperitivosWinBar | Título para ventanas no actuales |
BocadillosNotifierInfo | ninguno | Ventana de notificación para información |
SnacksNotificadorAdvertir | ninguno | Ventana de notificación para Advertir |
SnacksNotificadorDepuración | ninguno | Ventana de notificación para depurar |
Error de notificador de bocadillos | ninguno | Ventana de notificación de error |
AperitivosNotifierTrace | ninguno | Ventana de notificación para Trace |
BocadillosNotifierIconInfo | ninguno | Icono de notificación de información |
SnacksNotificadorIconoAdvertir | ninguno | Icono de notificación de advertencia |
SnacksNotificadorIconoDepuración | ninguno | Icono de notificación de depuración |
SnacksNotifierIconError | ninguno | Icono de notificación de error |
BocadillosNotificadorIconTrace | ninguno | Icono de notificación de seguimiento |
BocadillosNotificadorTítuloInfo | ninguno | Título de la notificación de información |
SnacksNotificadorTítuloAdvertir | ninguno | Título de la notificación de advertencia |
SnacksNotificadorTítuloDepuración | ninguno | Título de la notificación de depuración |
SnacksNotifierTitleError | ninguno | Título de la notificación de error |
SnacksNotificadorTítuloTrace | ninguno | Título de la notificación de seguimiento |
BocadillosNotifierBorderInfo | ninguno | Borde para notificación de información |
SnacksNotificadorFronteraAdvertir | ninguno | Borde para notificación de advertencia |
SnacksNotifierBorderDebug | ninguno | Borde para notificación de depuración |
SnacksNotifierBorderError | ninguno | Borde de notificación de error |
BocadillosNotifierBorderTrace | ninguno | Notificación de borde para seguimiento |
BocadillosNotifierFooterInfo | Información de diagnóstico | Pie de página para notificación de información |
BocadillosNotificadorPie de páginaAdvertir | Advertencia de diagnóstico | Pie de página para notificación de advertencia |
SnacksNotifierFooterDebug | Sugerencia de diagnóstico | Pie de página para notificación de depuración |
SnacksNotifierFooterError | Error de diagnóstico | Pie de página para notificación de error |
BocadillosNotifierFooterTrace | Sugerencia de diagnóstico | Pie de página para notificación de seguimiento |
SnacksPanelNormal | Normal | Normal para el tablero |
SnacksDashboardDesc | Especial | Texto de descripción en el panel |
SnacksDashboardArchivo | Especial | Elementos del archivo del panel |
SnacksDashboardDir | Sin texto | Elementos del directorio |
SnacksPanelPie de página | Título | Texto del pie de página del panel |
SnacksDashboardEncabezado | Título | Texto del encabezado del panel |
AperitivosPanelIcono | Especial | Iconos del tablero |
BocadillosPanelClave | Número | Texto de combinación de teclas |
SnacksPanelTerminal | SnacksPanelNormal | Texto terminal |
SnacksDashboardEspecial | Especial | Elementos especiales |
SnacksDashboardTítulo | Título | Texto del título |