Un tema oscuro y claro de Neovim escrito en Lua adaptado del tema TokyoNight de Visual Studio Code. Incluye temas adicionales para Kitty, Alacritty, iTerm y Fish.
Luna | Tormenta |
---|---|
Noche | Día |
Complemento | Fuente |
---|---|
antena.nvim | aerial |
cerveza inglesa | ale |
alfa-nvim | alpha |
barbar.nvim | barbar |
parpadeo.cmp | blink |
línea de búfer.nvim | bufferline |
nvim-cmp | cmp |
codeium.nvim | codeium |
copiloto.lua | copilot |
nvim-dap | dap |
tablero-nvim | dashboard |
flash.nvim | flash |
fzf-lua | fzf |
vim-gitgutter | gitgutter |
gitsigns.nvim | gitsigns |
paleta-glifo.vim | glyph-palette |
grug-far.nvim | grug-far |
titulares.nvim | headlines |
salto.nvim | hop |
vim-iluminar | illuminate |
sangría-línea en blanco.nvim | indent-blankline |
sangríamini.nvim | indentmini |
perezoso.nvim | lazy |
salto.nvim | leap |
lspsaga.nvim | lspsaga |
mini.animado | mini_animate |
mini.pista | mini_clue |
mini.finalización | mini_completion |
mini.cursorword | mini_cursorword |
mini.deps | mini_deps |
mini.diff | mini_diff |
mini.archivos | mini_files |
mini.hipatrones | mini_hipatterns |
mini.iconos | mini_icons |
mini.indentscope | mini_indentscope |
mini.salto | mini_jump |
mini.mapa | mini_map |
mini.notificar | mini_notify |
mini.operadores | mini_operators |
mini.pick | mini_pick |
mini.arranque | mini_starter |
mini.línea de estado | mini_statusline |
mini.envolvente | mini_surround |
mini.tabline | mini_tabline |
mini.prueba | mini_test |
mini.trailspace | mini_trailspace |
nvim-navic | navic |
neo-tree.nvim | neo-tree |
neogit | neogit |
neotest | neotest |
ruido.nvim | noice |
nvim-notificar | notify |
nvim-tree.lua | nvim-tree |
octo.nvim | octo |
delimitadores-arcoíris.nvim | rainbow |
render-markdown.nvim | render-markdown |
barra de desplazamiento nvim | scrollbar |
bocadillos.nvim | snacks |
vim-furtivo | sneak |
supermaven-nvim | supermaven |
telescopio.nvim | telescope |
contexto-nvim-treesitter | treesitter-context |
problema.nvim | trouble |
vimwiki | vimwiki |
cual-clave.nvim | which-key |
yanky.nvim | yanky |
Herramienta | Extra |
---|---|
Aerc | extras/aerc |
Alacritty | extras / presteza |
Delta | extras/delta |
Dunst | extras/dunst |
Pez | extras/pescado |
Temas de peces | extras/temas_peces |
Pie | extras/pie |
fuzzel | extras/fuzzel |
fzf | extras/fzf |
fantasmal | extras/fantasmal |
GitUI | extras/gitui |
Terminal GNOME | extras/gnome_terminal |
Hélice | extras/hélice |
iTerm | extras/ítem |
Bote | extras/gatito |
perezoso | extras/perezoso |
Tabla Lua para pruebas | extras/lua |
Prisma | extras/prisma |
proceso-componer | extras/proceso_componer |
Flojo | extras/holgura |
Reproductor de Spotify | extras/spotify_player |
Texto sublime | extras/sublimes |
terminador | extras/terminador |
Termux | extras/termux |
Tílix | extras/tílix |
tmux | extras/tmux |
Empuje | extras/vim |
Vimio | extras/vimium |
WezTérmino | extras/wezterm |
Terminal de Windows | extras/terminal_windows |
terminal xfce | extras/xfceterm |
Recursos X | extras/xrecursos |
yazi | extras/yazi |
Zathura | extras/zathura |
Zellij | extras/zellij |
Instala el tema con tu administrador de paquetes preferido, como 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
Algunos complementos necesitan una configuración adicional para funcionar con 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 ' }
Importante
Establezca la configuración ANTES de cargar el esquema de color con colorscheme tokyonight
.
El tema ofrece cuatro estilos: tormenta, luna, noche y día.
El estilo de día se usa cuando { style = "day" }
se pasa a setup(options)
o cuando vim.o.background = "light"
.
TokyoNight utiliza las opciones predeterminadas, a menos que se llame explícitamente a 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,
},
}
Cómo se calculan los grupos destacados:
colors
se determinan en función de su configuración, con la capacidad de anularlos usando config.on_colors(colors)
.colors
se utilizan para generar los grupos destacados.config.on_highlights(highlights, colors)
se puede utilizar para anular los grupos destacados. Para conocer los valores predeterminados de colors
y highlights
, consulte los temas tormenta, luna, noche y día.
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
en TmuxPara que los undercurls aparezcan y en color, agregue lo siguiente a su archivo de configuración de 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
En extras se pueden encontrar configuraciones de color adicionales para Kitty, Alacritty, Fish, WezTerm, iTerm y foot. Para utilizarlos consulte su respectiva documentación.
Puedes usar fácilmente la paleta de colores para otros complementos dentro de tu configuración de 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
Las solicitudes de extracción son bienvenidas.
Para los extras, utilizamos un sistema de plantillas sencillo que se puede utilizar para generar temas para los diferentes estilos.
Cómo agregar una nueva plantilla adicional:
Crea un archivo como lua/tokyonight/extra/cool-app.lua
.
Agregue el nombre y la extensión del archivo de salida a la tabla de extras
en lua/tokyonight/extra/init.lua
.
Ejecute el siguiente comando para generar nuevos temas adicionales desde el directorio del complemento tokyonight:
./scripts/build
Verifique los temas recién creados en el directorio extra/
. NO los confirme, ya que el CI ya los crea automáticamente.