Ein dunkles und helles Neovim-Thema, geschrieben in Lua, portiert aus dem Visual Studio Code TokyoNight-Thema. Enthält zusätzliche Themen für Kitty, Alacritty, iTerm und Fish.
Mond | Sturm |
---|---|
Nacht | Tag |
Plugin | Quelle |
---|---|
Aerial.nvim | aerial |
Ale | ale |
alpha-nvim | alpha |
barbar.nvim | barbar |
blink.cmp | blink |
bufferline.nvim | bufferline |
nvim-cmp | cmp |
codeium.nvim | codeium |
copilot.lua | copilot |
nvim-dap | dap |
Dashboard-nvim | dashboard |
flash.nvim | flash |
fzf-lua | fzf |
vim-gitgutter | gitgutter |
gitsigns.nvim | gitsigns |
glyph-palette.vim | glyph-palette |
grug-far.nvim | grug-far |
Schlagzeilen.nvim | headlines |
hop.nvim | hop |
vim-beleuchten | illuminate |
indent-blankline.nvim | indent-blankline |
indentmini.nvim | indentmini |
lazy.nvim | lazy |
leap.nvim | leap |
lspsaga.nvim | lspsaga |
mini.animieren | mini_animate |
mini.clue | mini_clue |
Mini-Vervollständigung | mini_completion |
mini.cursorword | mini_cursorword |
mini.deps | mini_deps |
Minidiff | mini_diff |
mini.files | mini_files |
mini.hipatterns | mini_hipatterns |
mini.icons | mini_icons |
mini.indentscope | mini_indentscope |
Minisprung | mini_jump |
Minikarte | mini_map |
mini.notify | mini_notify |
Mini-Operatoren | mini_operators |
Mini-Pick | mini_pick |
Ministarter | mini_starter |
mini.statusline | mini_statusline |
Mini-Surround | mini_surround |
mini.tabline | mini_tabline |
Minitest | mini_test |
mini.trailspace | mini_trailspace |
nvim-navic | navic |
neo-tree.nvim | neo-tree |
neogit | neogit |
neotest | neotest |
noice.nvim | noice |
nvim-notify | notify |
nvim-tree.lua | nvim-tree |
octo.nvim | octo |
rainbow-delimiters.nvim | rainbow |
render-markdown.nvim | render-markdown |
nvim-scrollbar | scrollbar |
Snacks.nvim | snacks |
vim-sneak | sneak |
supermaven-nvim | supermaven |
teleskop.nvim | telescope |
nvim-treesitter-context | treesitter-context |
ärger.nvim | trouble |
vimwiki | vimwiki |
which-key.nvim | which-key |
yanky.nvim | yanky |
Werkzeug | Extra |
---|---|
Aerc | Extras/Aerc |
Alacritty | Extras/Alacritty |
Delta | Extras/Delta |
Dunst | Extras/Dunst |
Fisch | Extras/Fisch |
Fischthemen | Extras/fish_themes |
Fuß | Extras/Fuß |
Fuzzel | Extras/Fuzzel |
Fzf | Extras/fzf |
Geisterhaft | Extras/Gespenst |
GitUI | Extras/gitui |
GNOME-Terminal | extras/gnome_terminal |
Wendel | Extras/Helix |
iTerm | Extras/iterm |
Kitty | Extras/Kätzchen |
Faulheit | Extras/Lazygit |
Lua-Tisch zum Testen | Extras/lua |
Prisma | Extras/Prisma |
Prozess-Komponieren | extras/process_compose |
Locker | Extras/Slack |
Spotify-Player | extras/spotify_player |
Erhabener Text | Extras/erhaben |
Terminator | Extras/Terminator |
Termux | Extras/Termux |
Tilix | Extras/tilix |
Tmux | Extras/tmux |
Vim | Extras/vim |
Vimium | Extras/Vimium |
WezTerm | Extras/wezterm |
Windows-Terminal | extras/windows_terminal |
Xfce-Terminal | extras/xfceterm |
Xresources | Extras/xRessourcen |
Yazi | Extras/yazi |
Zathura | Extras/Zathura |
Zellij | Extras/Zellij |
Installieren Sie das Theme mit Ihrem bevorzugten Paketmanager, z. B. 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
Einige Plugins benötigen eine zusätzliche Konfiguration, um mit TokyoNight zu funktionieren.
-- 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 ' }
Wichtig
Legen Sie die Konfiguration fest , BEVOR Sie das Farbschema mit colorscheme tokyonight
laden.
Das Thema bietet vier Stile: Sturm, Mond, Nacht und Tag.
Der Tagesstil wird verwendet, wenn { style = "day" }
an setup(options)
übergeben wird oder wenn vim.o.background = "light"
.
TokyoNight verwendet die Standardoptionen, sofern setup
nicht explizit aufgerufen wird.
--- @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,
},
}
So werden die Highlight-Gruppen berechnet:
colors
werden basierend auf Ihrer Konfiguration bestimmt und können mit config.on_colors(colors)
überschrieben werden.colors
werden zum Generieren der Hervorhebungsgruppen verwendet.config.on_highlights(highlights, colors)
kann verwendet werden, um Hervorhebungsgruppen zu überschreiben. Standardwerte für colors
und highlights
finden Sie in den Themen „Sturm“, „Mond“, „Nacht“ und „Tag“.
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
in Tmux korrigierenDamit Undercurls sichtbar und in Farbe angezeigt werden, fügen Sie Ihrer Tmux-Konfigurationsdatei Folgendes hinzu:
# 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
Zusätzliche Farbkonfigurationen für Kitty, Alacritty, Fish, WezTerm, iTerm und Foot finden Sie in den Extras. Informationen zur Verwendung finden Sie in der jeweiligen Dokumentation.
Sie können die Farbpalette problemlos für andere Plugins in Ihrer Neovim-Konfiguration verwenden:
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
Pull-Anfragen sind willkommen.
Für die Extras nutzen wir ein einfaches Template-System, mit dem sich Themes für die verschiedenen Stile generieren lassen.
So fügen Sie eine neue zusätzliche Vorlage hinzu:
Erstellen Sie eine Datei wie lua/tokyonight/extra/cool-app.lua
.
Fügen Sie den Namen und die Ausgabedateierweiterung zur extras
-Tabelle in lua/tokyonight/extra/init.lua
hinzu.
Führen Sie den folgenden Befehl aus, um neue zusätzliche Themes aus dem tokyonight-Plugin-Verzeichnis zu generieren:
./scripts/build
Überprüfen Sie die neu erstellten Themes im Verzeichnis extra/
. Bitte schreiben Sie sie NICHT fest, da sie vom CI bereits automatisch erstellt werden.