nvimdev/dashboard-nvim
nvimdev/dashboard-nvim has 2,869 GitHub stars and 199 forks. GitHot measured 0 stars in 24 hours. Last checked 2026-11-07 19:39 UTC. Last push 2026-04-17.
vim dashboard
Measured star growth
- in 24h
- 0
- in 7 days
- Collecting history
- in 15 days
- Collecting history
- in 1 month
- Collecting history
Net star changes over overlapping periods, not daily totals. Missing measurements are left blank. Stars measure attention, not software quality.
README.md
OriginalFancy and Blazing Fast start screen plugin of neovim
| Hyper | Doom |
|---|---|
![]() |
|
Feature
- Low memory usage. dashboard does not store the all user configs in memory like header etc these string will take some memory. now it will be clean after you open a file. you can still use dashboard command to open a new one , then dashboard will read the config from cache.
- Blazing fast
Install
- Lazy.nvim
{
'nvimdev/dashboard-nvim',
event = 'VimEnter',
config = function()
require('dashboard').setup {
-- config
}
end,
dependencies = { {'nvim-tree/nvim-web-devicons'}}
}
- Packer
use {
'nvimdev/dashboard-nvim',
event = 'VimEnter',
config = function()
require('dashboard').setup {
-- config
}
end,
requires = {'nvim-tree/nvim-web-devicons'}
}
Configuration
Options
theme = 'hyper' -- theme is doom and hyper default is hyper
disable_move -- default is false disable move keymap for hyper
shortcut_type -- shortcut type 'letter' or 'number'
shuffle_letter -- default is false, shortcut 'letter' will be randomize, set to false to have ordered letter
letter_list -- default is a-z, excluding j and k
change_to_vcs_root -- default is false,for open file in hyper mru. it will change to the root of vcs
config = {}, -- config used for theme
hide = {
statusline -- hide statusline default is true
tabline -- hide the tabline
winbar -- hide winbar
},
preview = {
command -- preview command
file_path -- preview file path
file_height -- preview file height
file_width -- preview file width
},
Theme config
the config field is used for theme. general field
config = {
header -- type is table def
week_header = {
enable --boolean use a week header
concat --concat string after time string line
append --table append after time string line
},
disable_move -- boolean default is false disable move key
}
Hyper
when use hyper theme the available options in config is
config = {
shortcut = {
-- action can be a function type
{ desc = string, group = 'highlight group', key = 'shortcut key', action = 'action when you press key' },
},
packages = { enable = true }, -- show how many plugins neovim loaded
-- limit how many projects list, action when you press key or enter it will run this action.
-- action can be a function type, e.g.
-- action = func(path) vim.cmd('Telescope find_files cwd=' .. path) end
project = { enable = true, limit = 8, icon = 'your icon', label = '', action = 'Telescope find_files cwd=' },
mru = { enable = true, limit = 10, icon = 'your icon', label = '', cwd_only = false },
footer = {}, -- footer
}
Doom
when use doom theme the available options in config is
config = {
center = {
{
icon = '',
icon_hl = 'group',
desc = 'description',
desc_hl = 'group',
key = 'shortcut key in dashboard buffer not keymap !!',
key_hl = 'group',
key_format = ' [%s]', -- `%s` will be substituted with value of `key`
action = '',
},
},
footer = {},
vertical_center = false, -- Center the Dashboard on the vertical (from top to bottom)
}
notice if you don't link config every highlight group. you can ignore this key.
dashboard will use default highlight group like DashboardKey/Icon/Desc instead
Commands
Dashboardopen dashboardDbProjectDelete countdelete project in cache works for hyper theme. count is numberDashboardUpdateFooterupdates the content of the Footer
Highlight
all highlight groups
-- General
DashboardHeader DashboardFooter
-- Hyper theme
DashboardProjectTitle DashboardProjectTitleIcon DashboardProjectIcon
DashboardMruTitle DashboardMruIcon DashboardFiles DashboardShortCutIcon
-- Doom theme
DashboardDesc DashboardKey DashboardIcon DashboardShortCut
Example config
example config of screenshot
Hyper
db.setup({
theme = 'hyper',
config = {
week_header = {
enable = true,
},
shortcut = {
{ desc = ' Update', group = '@property', action = 'Lazy update', key = 'u' },
{
icon = ' ',
icon_hl = '@variable',
desc = 'Files',
group = 'Label',
action = 'Telescope find_files',
key = 'f',
},
{
desc = ' Apps',
group = 'DiagnosticHint',
action = 'Telescope app',
key = 'a',
},
{
desc = ' dotfiles',
group = 'Number',
action = 'Telescope dotfiles',
key = 'd',
},
},
},
})
Doom
db.setup({
theme = 'doom',
config = {
header = {}, --your header
center = {
{
icon = ' ',
icon_hl = 'Title',
desc = 'Find File ',
desc_hl = 'String',
key = 'b',
keymap = 'SPC f f',
key_hl = 'Number',
key_format = ' %s', -- remove default surrounding `[]`
action = 'lua print(2)'
},
{
icon = ' ',
desc = 'Find Dotfiles',
key = 'f',
keymap = 'SPC f d',
key_format = ' %s', -- remove default surrounding `[]`
action = 'lua print(3)'
},
},
footer = {} --your footer
}
})
TODO
- I will write a plugin to implement some popular terminal evaluators image protocol then I think can make it work with dashboard
Backers
Donate
If you'd like to support my work financially, buy me a drink through Github Sponsor or
LICENSE
MIT
Explore related projects
codecrafters-io/build-your-own-x
Master programming by recreating your favorite technologies from scratch.
560,811 starspublic-apis/public-apis
A collective list of free APIs
497,046 starsmorluto/rea
Reverse engineer anything with agents, from app behavior down to native binaries.
441,281 starsopenclaw/openclaw
The AI that really does things. Any OS. Any Platform. The lobster way. 🦞
394,150 stars