vim 如何在fzf --header中使用ansi颜色?

ogq8wdun  于 2023-06-23  发布在  其他
关注(0)|答案(1)|浏览(134)

我尝试改变字体颜色在fzf的标题。
下面是一个例子:https://github.com/linrongbin16/fzfx.vim/blob/fa1723e8185e3c2e3d45b6937383ef283c0d3297/autoload/fzfx/vim.vim#L88
但是ansi颜色代码不起作用,它只是打印:

:: Press [0;31mCTRL-G[0m to fuzzy search

我该怎么解决?

6ie5vjzr

6ie5vjzr1#

ANSI序列前缺少转义符。
有几种方法可以表示这个字符。要在vim中按字面意思输入,请在插入模式下按ctrl+v然后按Esc键。在vim中,该字符显示为^[,并有特殊的突出显示,因此它最终应该看起来:

或者,您最好修复set_ansi_color()

function! s:set_ansi_color(content)
    return nr2char(0x1B).s:ansi_colors.red.a:content.s:ansi_colors.clear
endfunction

相关问题