![Vim 拼写下划线在 urxvt 中显示,但在 xfce-terminal 中不显示](https://linux22.com/image/171969/Vim%20%E6%8B%BC%E5%86%99%E4%B8%8B%E5%88%92%E7%BA%BF%E5%9C%A8%20urxvt%20%E4%B8%AD%E6%98%BE%E7%A4%BA%EF%BC%8C%E4%BD%86%E5%9C%A8%20xfce-terminal%20%E4%B8%AD%E4%B8%8D%E6%98%BE%E7%A4%BA.png)
当我启用 vim 的拼写检查器时,:set spell
urxvt 中任何拼写错误的单词下方都会出现下划线。
但是,当我在 xfce-terminal 中尝试相同的操作(在同一台机器上,使用相同的 .vimrc 并编辑相同的文件)时,不会出现下划线。拼写检查器仍在工作,因为可以在拼写错误的单词之间导航,只是下划线未显示。
有谁知道 vim 或 xfce-terminal 中的哪些设置导致这种情况发生。
编辑:这似乎是 vim 特有的问题,而不是终端本身的问题。使用 echo 打印的下划线仍然显示正确,即:
echo -e "\e[4munderline\e[0m"
答案1
这个问题是由于 vim 尝试使用 undercurls(摆动下划线)而不是普通下划线,但配置不正确。
通过尝试打印一些内容来检查您的终端是否支持下卷曲:
echo -e '\e[4:3mcurly underline (new in 0.52)\e[4:0m'
如果它们显示正确,则问题是由于 vim 造成的。很可能是由于 vimt_Cs
和t_Ce
变量设置不正确。
有一个相关问题这里,建议将以下内容添加到您的.vimrc
:
let &t_Cs = "\e[4:3m"
let &t_Ce = "\e[4:0m"
完成此操作后,下卷曲开始在 vim 中显示给我。