用 Lua 编写的深色和浅色 Neovim 主题,移植自 Visual Studio Code TokyoNight 主题。包括 Kitty、Alacritty、iTerm 和 Fish 的额外主题。
月亮 | 风暴 |
---|---|
夜晚 | 天 |
插件 | 来源 |
---|---|
航空.nvim | aerial |
麦酒 | ale |
α-nvim | alpha |
巴巴.nvim | barbar |
闪烁.cmp | blink |
缓冲区线.nvim | bufferline |
nvim-cmp | cmp |
Codeium.nvim | codeium |
副驾驶.lua | copilot |
nvim-dap | dap |
仪表板-nvim | dashboard |
闪存nvim | flash |
fzf-lua | fzf |
vim-gitgutter | gitgutter |
gitsigns.nvim | gitsigns |
字形调色板.vim | glyph-palette |
grug-far.nvim | grug-far |
头条新闻.nvim | headlines |
跳nvim | hop |
vim 照明 | illuminate |
缩进-blankline.nvim | indent-blankline |
缩进迷你.nvim | indentmini |
懒惰的nvim | lazy |
leap.nvim | leap |
lspsaga.nvim | lspsaga |
迷你动画 | mini_animate |
小线索 | mini_clue |
迷你完成 | mini_completion |
迷你光标词 | mini_cursorword |
迷你部门 | mini_deps |
迷你差异 | mini_diff |
迷你文件 | mini_files |
迷你臀部图案 | mini_hipatterns |
迷你图标 | mini_icons |
微型压痕镜 | mini_indentscope |
迷你跳跃 | mini_jump |
小地图 | mini_map |
迷你通知 | mini_notify |
小型运营商 | mini_operators |
迷你拾取器 | mini_pick |
迷你启动器 | mini_starter |
迷你状态线 | mini_statusline |
迷你环绕声 | mini_surround |
小表线 | mini_tabline |
小型测试 | mini_test |
迷你轨迹空间 | mini_trailspace |
恩维姆导航 | navic |
新树.nvim | neo-tree |
尼吉特 | neogit |
新测试 | neotest |
噪音.nvim | noice |
nvim 通知 | notify |
nvim-tree.lua | nvim-tree |
octo.nvim | octo |
彩虹分隔符.nvim | rainbow |
渲染-markdown.nvim | render-markdown |
nvim 滚动条 | scrollbar |
零食.nvim | snacks |
vim 潜行 | sneak |
超级maven-nvim | supermaven |
望远镜.nvim | telescope |
nvim-treesitter-上下文 | treesitter-context |
麻烦.nvim | trouble |
维姆维基 | vimwiki |
哪个键.nvim | which-key |
yanky.nvim | yanky |
工具 | 额外的 |
---|---|
阿尔克 | 额外/aerc |
阿拉克里蒂 | 临时演员/敏捷 |
三角洲 | 额外/三角洲 |
邓斯特 | 临时演员/邓斯特 |
鱼 | 额外/鱼 |
鱼主题 | 额外/fish_themes |
脚 | 额外/脚 |
福泽尔 | 附加/模糊 |
弗兹夫 | 临时演员/fzf |
幽灵般的 | 临时演员/幽灵 |
吉特用户界面 | 额外内容/gitui |
GNOME 终端 | 额外/gnome_terminal |
螺旋 | 额外/螺旋 |
iTerm | 额外/iterm |
猫咪 | 额外/小猫 |
懒惰的人 | 额外/lazygit |
用于测试的 Lua 表 | 附加/lua |
棱镜 | 附加/棱镜 |
过程组合 | 额外/process_compose |
松弛 | 额外/松弛 |
Spotify 播放器 | 额外内容/spotify_player |
崇高的文字 | 额外/崇高 |
终结者 | 临时演员/终结者 |
特穆克斯 | 附加/termux |
蒂利克斯 | 额外/蒂利克斯 |
多路复用器 | 额外/tmux |
维姆 | 附加/vim |
维米姆 | 额外内容/vimium |
韦兹术语 | 额外内容/wezterm |
Windows 终端 | 额外/windows_terminal |
Xfce 终端 | 额外内容/xfceterm |
X资源 | 额外/扩展资源 |
亚子 | 群众演员/亚子 |
扎图拉 | 临时演员/萨图拉 |
泽利杰 | 临时演员/zellij |
使用您喜欢的包管理器安装主题,例如 Folke/lazy.nvim:
{
" folke/tokyonight.nvim " ,
lazy = false ,
priority = 1000 ,
opts = {},
}
vim . cmd [[ colorscheme tokyonight ]]
colorscheme tokyonight
" There are also colorschemes for the different styles.
colorscheme tokyonight - night
colorscheme tokyonight - storm
colorscheme tokyonight - day
colorscheme tokyonight - moon
有些插件需要额外的配置才能与TokyoNight一起使用。
-- Lua
require ( ' barbecue ' ). setup {
-- ... your barbecue config
theme = ' tokyonight ' ,
-- ... your barbecue config
}
-- Lua
require ( ' lualine ' ). setup {
options = {
-- ... your lualine config
theme = ' tokyonight '
-- ... your lualine config
}
}
" Vim Script
let g: lightline = { ' colorscheme ' : ' tokyonight ' }
重要的
在使用colorscheme tokyonight
加载配色方案之前设置配置。
该主题提供四种风格:风暴、月亮、夜晚和白天。
当{ style = "day" }
传递给setup(options)
或vim.o.background = "light"
时,使用日样式。
TokyoNight 使用默认选项,除非显式调用setup
。
--- @class tokyonight.Config
--- @field on_colors fun ( colors : ColorScheme )
--- @field on_highlights fun ( highlights : tokyonight.Highlights , colors : ColorScheme )
M . defaults = {
style = " moon " , -- The theme comes in three styles, `storm`, a darker variant `night` and `day`
light_style = " day " , -- The theme is used when the background is set to light
transparent = false , -- Enable this to disable setting the background color
terminal_colors = true , -- Configure the colors used when opening a `:terminal` in Neovim
styles = {
-- Style to be applied to different syntax groups
-- Value is any valid attr-list value for `:help nvim_set_hl`
comments = { italic = true },
keywords = { italic = true },
functions = {},
variables = {},
-- Background styles. Can be "dark", "transparent" or "normal"
sidebars = " dark " , -- style for sidebars, see below
floats = " dark " , -- style for floating windows
},
day_brightness = 0.3 , -- Adjusts the brightness of the colors of the **Day** style. Number between 0 and 1, from dull to vibrant colors
dim_inactive = false , -- dims inactive windows
lualine_bold = false , -- When `true`, section headers in the lualine theme will be bold
--- You can override specific color groups to use other groups or a hex color
--- function will be called with a ColorScheme table
--- @param colors ColorScheme
on_colors = function ( colors ) end ,
--- You can override specific highlights to use other groups or a hex color
--- function will be called with a Highlights and ColorScheme table
--- @param highlights tokyonight.Highlights
--- @param colors ColorScheme
on_highlights = function ( highlights , colors ) end ,
cache = true , -- When set to true, the theme will be cached for better performance
--- @type table<string , boolean |{ enabled : boolean } >
plugins = {
-- enable all plugins when not using lazy.nvim
-- set to false to manually enable/disable plugins
all = package.loaded . lazy == nil ,
-- uses your plugin manager to automatically enable needed plugins
-- currently only lazy.nvim is supported
auto = true ,
-- add any plugins here that you want to enable
-- for all possible plugins, see:
-- * https://github.com/folke/tokyonight.nvim/tree/main/lua/tokyonight/groups
-- telescope = true,
},
}
高亮组的计算方式:
colors
是根据您的配置确定的,并且可以使用config.on_colors(colors)
覆盖它们。colors
用于生成突出显示组。config.on_highlights(highlights, colors)
可用于覆盖突出显示组。有关colors
和highlights
的默认值,请参阅风暴、月亮、夜晚和白天主题。
require ( " tokyonight " ). setup ({
-- use the night style
style = " night " ,
-- disable italic for functions
styles = {
functions = {}
},
-- Change the "hint" color to the "orange" color, and make the "error" color bright red
on_colors = function ( colors )
colors . hint = colors . orange
colors . error = " #ff0000 "
end
})
require ( " tokyonight " ). setup ({
on_highlights = function ( hl , c )
local prompt = " #2d3149 "
hl . TelescopeNormal = {
bg = c . bg_dark ,
fg = c . fg_dark ,
}
hl . TelescopeBorder = {
bg = c . bg_dark ,
fg = c . bg_dark ,
}
hl . TelescopePromptNormal = {
bg = prompt ,
}
hl . TelescopePromptBorder = {
bg = prompt ,
fg = prompt ,
}
hl . TelescopePromptTitle = {
bg = prompt ,
fg = prompt ,
}
hl . TelescopePreviewTitle = {
bg = c . bg_dark ,
fg = c . bg_dark ,
}
hl . TelescopeResultsTitle = {
bg = c . bg_dark ,
fg = c . bg_dark ,
}
end ,
})
undercurls
要显示下卷曲并显示颜色,请将以下内容添加到 Tmux 配置文件中:
# Undercurl
set -g default-terminal " ${TERM} "
set -as terminal-overrides ' ,*:Smulx=E[4::%p1%dm ' # undercurl support
set -as terminal-overrides ' ,*:Setulc=E[58::2::::%p1%{65536}%/%d::%p1%{256}%/%{255}%&%d::%p1%{255}%&%d%;m ' # underscore colours - needs tmux-3.0
Kitty、Alacritty、Fish、WezTerm、iTerm 和 foot 的额外颜色配置可在 extras 中找到。要使用它们,请参阅各自的文档。
您可以轻松地在 Neovim 配置中使用其他插件的调色板:
local colors = require ( " tokyonight.colors " ). setup () -- pass in any of the config options as explained above
local util = require ( " tokyonight.util " )
aplugin . background = colors . bg_dark
aplugin . my_error = util . lighten ( colors . red1 , 0.3 ) -- number between 0 and 1. 0 results in white, 1 results in red1
欢迎请求请求。
对于额外功能,我们使用一个简单的模板系统,可用于生成不同风格的主题。
如何添加新的额外模板:
创建一个类似lua/tokyonight/extra/cool-app.lua
的文件。
将名称和输出文件扩展名添加到lua/tokyonight/extra/init.lua
中的extras
表中。
运行以下命令从 tokyonight 插件目录生成新的额外主题:
./scripts/build
检查extra/
目录中新创建的主题。请不要提交它们,因为它们已经由 CI 自动构建。