以 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 自動建置。