为tmux和vim开启斜体和真彩色

若如初见. 提交于 2020-02-23 11:21:28

为tmux和vim开启斜体和真彩色

这篇文章是我上一篇博客:为tmux和vim开启真彩色的拓展

一般终端会支持斜体,但是tmux中是无法显示斜体的。网上的很多教程都已经过时,今天我来分享下如何在tmux中启用斜体吧。参考:reference

1. 检查tmux中能否显示斜体

echo -e "\e[3mitalic\e[23m"

2. 创建新的终端类型

我们创建一种新的终端类型tmux-256colors(有些电脑里可能已经存在了)。

  • 创建一个新的文件tmux-256color.terminfo,内容如下

    tmux-256color|tmux with 256 colors,
      ritm=\E[23m, rmso=\E[27m, sitm=\E[3m, smso=\E[7m, Ms@,
      khome=\E[1~, kend=\E[4~,
      use=xterm-256color, use=screen-256color,
    
  • 安装新终端tic -x tmux-256color.terminfo

3. 修改.tmux.conf

~/.tmux.conf里面加入如下内容

set -g default-terminal 'tmux-256color'
set -as terminal-overrides ',xterm*:Tc:sitm=\E[3m'

这里的Tc是在tmux中开启真彩色,sitm是开启斜体。

4. 修改~/.vimrc

vimrc中添加如下内容:

if has("termguicolors")
    " fix bug for vim
    set t_8f=^[[38;2;%lu;%lu;%lum
    set t_8b=^[[48;2;%lu;%lu;%lum

    " enable true color
    set termguicolors
endif

这几行的作用是在vim中开启真彩色,上一篇博客为tmux和vim开启真彩色中也提到了。

下方的两行代码修复了vim的bug,强制在vim中开启真彩色。

如果没有这两句话,只有set termguicolors,那么tmux中的vim将失去色彩!

set t_8f=^[[38;2;%lu;%lu;%lum
set t_8b=^[[48;2;%lu;%lu;%lum

好了,大功告成,再去运行echo -e "\e[3mitalic\e[23m"试验一下吧!

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!