`:FZF!` no longer follows dynamic `g:terminal_ansi_colors` changes
Author: ccjmneCreated Sep 17, 2026Updated Sep 17, 2026
My terminal, and Vim, change colour schemes between dark/light at runtime; these changes get propagated to Vim's embedded terminals via:
const ansi = {
dark: ['#45475a', '#f38ba8', '#a6e3a1', '#f9e2af', '#89b4fa', '#cba6f7', '#94e2d5', '#a6adc8', '#585b70', '#f37799', '#89d88b', '#ebd391', '#74a8fc', '#c892ee', '#6bd7ca', '#bac2de'],
light: ['#5c5f77', '#d20f39', '#40a02b', '#df8e1d', '#1e66f5', '#8839ef', '#179299', '#acb0be', '#6c6f85', '#de293e', '#49af3d', '#eea02d', '#456eff', '#9c48fc', '#2d9fa8', '#bcc0cc'] }
au ColorScheme * g:terminal_ansi_colors = ansi[&background]
While :FZF! is already open:
- fzf
0.67.0: colours update with the terminal theme - fzf
0.74.4: colours remain from the previous theme :FZF(w/o bang) still behaves correctly
The regression appears caused by the new nested terminal path:
terminal -> vim terminal buffer -> fzf
Since fzf 0.74.4, :FZF! in Vim runs in a terminal buffer inside a temporary tab, whereas it used to use the outer terminal directly.
Could the Vim integration either propagate runtime theme changes to the fzf terminal or provide a supported option to retain the old blocking fullscreen behaviour?
Environment:
fzf 0.74.4
vim 9.2 with +terminal and +termguicolors
Ref: #4897
Source: junegunn/fzf