snacks.nvim
Une collection de petits plugins QoL pour Neovim.
Collation | Description | Installation |
---|---|---|
gros fichier | Gérer de gros fichiers | |
bufdelete | Supprimez les tampons sans perturber la disposition des fenêtres | |
tableau de bord | De beaux tableaux de bord déclaratifs | |
déboguer | Jolie inspection et traces pour le débogage | |
git | Fonctions utiles pour Git | |
gitbrowse | Ouvrez le dépôt du fichier actif dans le navigateur (par exemple, GitHub) | |
paresseux | Ouvrez LazyGit dans un flotteur, configurez automatiquement le schéma de couleurs et l'intégration avec Neovim | |
notifier | Fonctions utilitaires pour travailler avec vim.notify de Neovim | |
notifiant | vim.notify meilleur et plus joli | |
fichier rapide | Lorsque vous effectuez nvim somefile.txt , le fichier sera restitué le plus rapidement possible, avant de charger vos plugins. | |
rebaptiser | Renommage de fichiers intégré à LSP avec prise en charge de plugins tels que neo-tree.nvim et mini.files. | |
colonne d'état | Jolie colonne de statut | |
Terminal | Créer et basculer des terminaux flottants/divisés | |
basculer | Basculer les claviers intégrés aux icônes/couleurs de quelles touches | |
gagner | Créez et gérez facilement des fenêtres ou des fractionnements flottants | |
mots | Afficher automatiquement les références LSP et naviguer rapidement entre elles |
Installez le plugin avec votre gestionnaire de packages :
Important
Quelques plugins nécessitent que snacks.nvim
soit configuré tôt. Le programme d'installation crée des autocmds et ne charge aucun plugin. Vérifiez le code pour voir ce qu'il fait.
Prudence
Vous devez transmettre explicitement les options d'un plugin ou définir enabled = true
pour l'activer.
Conseil
C'est une bonne idée d'exécuter :checkhealth snacks
pour voir si tout est correctement configuré.
{
" 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 },
},
}
Pour une configuration approfondie de snacks.nvim
avec lazy.nvim
, consultez l'exemple ci-dessous.
Veuillez vous référer au fichier readme de chaque plugin pour leur configuration spécifique.
--- @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 },
}
Voir l'exemple ci-dessous pour savoir comment configurer 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 ,
}
Groupe de surbrillance | Groupe par défaut | Description |
---|---|---|
CollationsNormal | Flotteur normal | Normal pour la fenêtre flottante |
SnacksWinBar | Titre | Titre de la fenêtre |
Collations | aucun | Toile de fond |
CollationsNormalNC | Flotteur normal | Normal pour les fenêtres non actuelles |
SnacksWinBarNC | SnacksWinBar | Titre pour les fenêtres non actuelles |
SnacksNotifierInfo | aucun | Fenêtre de notification pour les informations |
SnacksNotifierAvertir | aucun | Fenêtre de notification pour Warn |
SnacksNotifierDebug | aucun | Fenêtre de notification pour le débogage |
SnacksNotifierError | aucun | Fenêtre de notification en cas d'erreur |
SnacksNotifierTrace | aucun | Fenêtre de notification pour Trace |
SnacksNotifierIconInfo | aucun | Icône de notification d'informations |
SnacksNotifierIconWarn | aucun | Icône de notification d'avertissement |
SnacksNotifierIconDebug | aucun | Icône de notification de débogage |
SnacksNotifierIconError | aucun | Icône de notification d'erreur |
SnacksNotifierIconTrace | aucun | Icône de notification de trace |
SnacksNotifierTitleInfo | aucun | Titre de la notification d'informations |
SnacksNotifierTitleWarn | aucun | Titre de la notification d'avertissement |
SnacksNotifierTitleDebug | aucun | Titre de la notification de débogage |
SnacksNotifierTitleError | aucun | Titre de la notification d'erreur |
SnacksNotifierTitreTrace | aucun | Titre de la notification de trace |
SnacksNotifierBorderInfo | aucun | Bordure pour notification d'informations |
SnacksNotifierBorderWarn | aucun | Bordure pour la notification d'avertissement |
SnacksNotifierBorderDebug | aucun | Bordure pour la notification de débogage |
SnacksNotifierBorderError | aucun | Bordure pour la notification d'erreur |
SnacksNotifierBorderTrace | aucun | Bordure pour notification de trace |
SnacksNotifierFooterInfo | Informations de diagnostic | Pied de page pour la notification d'informations |
SnacksNotifierFooterWarn | DiagnosticAvertissement | Pied de page pour la notification d'avertissement |
SnacksNotifierFooterDebug | Astuce de diagnostic | Pied de page pour la notification de débogage |
SnacksNotifierFooterError | Erreur de diagnostic | Pied de page pour la notification d'erreur |
SnacksNotifierFooterTrace | Astuce de diagnostic | Pied de page pour la notification de trace |
SnacksTableau de bordNormal | Normale | Normal pour le tableau de bord |
SnacksDashboardDesc | Spécial | Texte de description dans le tableau de bord |
SnacksDashboardFichier | Spécial | Éléments du fichier du tableau de bord |
SnacksDashboardDir | Non-texte | Éléments du répertoire |
SnacksTableau de bordBas de page | Titre | Texte du pied de page du tableau de bord |
SnacksDashboardEn-tête | Titre | Texte d'en-tête du tableau de bord |
SnacksDashboardIcône | Spécial | Icônes du tableau de bord |
SnacksDashboardKey | Nombre | Texte de raccourci clavier |
SnacksTableau de bordTerminal | SnacksTableau de bordNormal | Texte du terminal |
SnacksDashboardSpécial | Spécial | Éléments spéciaux |
SnacksDashboardTitre | Titre | Texte du titre |