После переезда с версии 0.4.4 на 0.5+ никак не мог заставить себя сесть за документацию и настроить себе подсветку активного окна внутри neovim. Но всё в какой-то момент меняется и, почитав :h hi, найдя соответствующие группы Normal, LineNr и SignColumn (последний добавляется с плагином vim-signify), сделал себе несколько автокоманд, которые переключают цвет этих групп в ctermbg=235 для активного окна и в ctermbg=237 для неактивного. Решение всё ещё довольно косячное (в момент зажимания Ctrl окно моргает, просто потому, что нажатие Ctrl, внезапно, выдаёт событие FocusLost), но при смене активного окна всё выглядит замечательно, в т.ч. и при переходе из/в vim.
Реализация для тех, кому интересно.
-- -- autocmds/focus.lua --
local augroup = require("utils").augroup local activeColor = 235 local inactiveColor = 237 local activeSuffix = "Active" local inactiveSuffix = "Inactive"
local backgrounds = { "Normal", -- Plain window background "LineNr", -- Line number background "SignColumn", -- Git status background }
local activate = "set winhighlight=" local deactivate = "set winhighlight="
local as = activeSuffix local is = inactiveSuffix
for i, name inipairs(backgrounds) do vim.cmd("hi " .. as .. name .. " ctermbg=" .. activeColor) vim.cmd("hi " .. is .. name .. " ctermbg=" .. inactiveColor)
activate = activate .. name .. ":" .. as .. name .. "," deactivate = deactivate .. name .. ":" .. is .. name .. "," end