| Hyper | Doom |
|---|---|
![]() | ![]() |
- 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
- 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'}
}theme='hyper' -- theme is doom and hyper default is hyperdisable_move-- default is false disable move keymap for hypershortcut_type-- shortcut type 'letter' or 'number'shuffle_letter-- default is false, shortcut 'letter' will be randomize, set to false to have ordered letterletter_list-- default is a-z, excluding j and kchange_to_vcs_root-- default is false,for open file in hyper mru. it will change to the root of vcsconfig= {}, -- config used for themehide= {
statusline-- hide statusline default is truetabline-- hide the tablinewinbar-- hide winbar
},
preview= {
command-- preview commandfile_path-- preview file pathfile_height-- preview file heightfile_width-- preview file width
},the config field is used for theme. general field
config= {
header-- type is table defweek_header= {
enable--boolean use a week headerconcat--concat string after time string lineappend--table append after time string line
},
disable_move-- boolean default is false disable move key
}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) endproject= { 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
}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
Dashboardopen dashboardDbProjectDelete countdelete project in cache works for hyper theme. count is numberDashboardUpdateFooterupdates the content of the Footer
all highlight groups
-- General
DashboardHeader DashboardFooter
-- Hyper theme
DashboardProjectTitle DashboardProjectTitleIcon DashboardProjectIcon
DashboardMruTitle DashboardMruIcon DashboardFiles DashboardShortCutIcon
-- Doom theme
DashboardDesc DashboardKey DashboardIcon DashboardShortCut
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 headercenter= {
{
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
}
})- Removed Session as a start screen plugin speed is first.if you want use session you can take a look at glepnir/dbsession.nvim
- Removed Ueberzug script, as the Ueberzug author has deleted the repository.
- I will write a plugin to implement some popular terminal evaluators image protocol then I think can make it work with dashboard
If you'd like to support my work financially, buy me a drink through Github Sponsor or
MIT

