使用tmux在vim中显示表情符号

时间:2017-03-30 02:27:17

标签: vim unicode utf-8 emoji tmux

问题

Emojis仅在tmux内部的vim中显示不正确,并且仅在tmux内的vim中显示。 Emojis在tmux之外的vim中按预期工作。 Emojis在tmux中的其他程序中按预期工作。

内部TMUX:

vim ~/echoemoji.sh

vim inside tmux

sh ./echoemoji.sh

shell inside tmux

nano ./echoemoji.sh

nano inside tmux

OUTSIDE TMUX:

vim ./echoemoji.sh

shell outside tmux

相关配置

的vimrc

set encoding=utf-8
set t_Co=256
set termencoding=utf-8

:set term
  term=xterm-256color

tmux.conf

  set -g default-terminal "xterm-256color"

iterm2

Character Encoding: UTF-8
Report Terminal Type: xterm-256color
Font: Hack
Non-ASCII Font:  Inconsolata-dz for Powerline
Use HFS+ Unicode normalization (checked)

zshrc

alias tmux="tmux -u" # Tried with and without

1 个答案:

答案 0 :(得分:2)

这是iterm的默认unicode版本是8以及nvim的默认版本是9的问题。切换出装订线的emoji字符可以解决此问题。 (iTerm 3.1将具有更多可配置的表情符号版本)

https://www.reddit.com/r/vim/comments/6vkoii/vim_text_rendering_off_by_one_issue/

enter image description here

选择Iterm2->配置文件->文本->使用Unicode versoin 9宽度