Visual Studio Code の TokyoNight テーマから移植された、Lua で書かれたダークおよびライトの Neovim テーマ。 Kitty、Alacritty、iTerm、Fish の追加テーマが含まれています。
月 | 嵐 |
---|---|
夜 | 日 |
プラグイン | ソース |
---|---|
aerial.nvim | aerial |
エール | ale |
アルファ-nvim | alpha |
バーバー.nvim | barbar |
まばたき.cmp | blink |
バッファライン.nvim | bufferline |
nvim-cmp | cmp |
codeium.nvim | codeium |
副操縦士.lua | copilot |
nvim-dap | dap |
ダッシュボード-nvim | dashboard |
flash.nvim | flash |
fzf-lua | fzf |
vim-ギットガッター | gitgutter |
gitsigns.nvim | gitsigns |
グリフパレット.vim | glyph-palette |
grug-far.nvim | grug-far |
見出し.nvim | headlines |
hop.nvim | hop |
vim-illuminate | illuminate |
indent-blankline.nvim | indent-blankline |
indentmini.nvim | indentmini |
怠惰な.nvim | lazy |
リープ.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 |
nvim-navic | navic |
neo-tree.nvim | neo-tree |
ネオジット | neogit |
ネオテスト | neotest |
noice.nvim | noice |
nvim-notify | notify |
nvim-tree.lua | nvim-tree |
octo.nvim | octo |
Rainbow-delimiters.nvim | rainbow |
レンダリングマークダウン.nvim | render-markdown |
nvim スクロールバー | scrollbar |
スナック.nvim | snacks |
vim-sneak | sneak |
スーパーメイブン-nvim | supermaven |
望遠鏡.nvim | telescope |
nvim-treesitter-context | treesitter-context |
トラブル.nvim | trouble |
ヴィムウィキ | vimwiki |
どのキー.nvim | which-key |
yanky.nvim | yanky |
道具 | 余分な |
---|---|
アーク | エキストラ/エアロ |
アラクリティ | エクストラ/アラクリティ |
デルタ | エクストラ/デルタ |
ダンスト | エクストラ/ダンスト |
魚 | エキストラ/魚 |
魚のテーマ | エクストラ/魚のテーマ |
足 | エクストラ/フット |
ファゼル | エキストラ/ファゼル |
Fzf | エクストラ/fzf |
ゴーストティ | エキストラ/ゴースト |
GitUI | エクストラ/ギツイ |
GNOME ターミナル | エクストラ/gnome_terminal |
ヘリックス | エクストラ/ヘリックス |
iTerm | 追加特典/期間限定 |
キティ | エキストラ/キティ |
怠け者 | エクストラ/レイジーギット |
テスト用の Lua テーブル | エクストラ/ルア |
プリズム | エクストラ/プリズム |
プロセス構成 | エクストラ/process_compose |
スラック | 余分なもの/たるみ |
Spotify プレーヤー | エクストラ/spotify_player |
崇高なテキスト | エクストラ/崇高な |
ターミネーター | エキストラ/ターミネーター |
テルマックス | エクストラ/termux |
ティリックス | エキストラ/ティリックス |
トゥマックス | エクストラ/tmux |
ヴィム | エクストラ/vim |
ヴィミウム | エクストラ/ビタミン |
ウェズターム | エクストラ/ウェズターム |
Windowsターミナル | エクストラ/Windows_ターミナル |
Xfce ターミナル | エクストラ/xfceterm |
Xリソース | エクストラ/xリソース |
ヤジ | エキストラ/ヤジ |
ザスーラ | エクストラ/ザスーラ |
ゼリジ | エキストラ/ゼリジ |
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
を使用してカラースキームをロードする前に構成を設定します。
テーマには、嵐、月、夜、昼の 4 つのスタイルが用意されています。
日のスタイルは、 { 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 によってすでに自動的に構築されているため、コミットしないでください。