jbo*_*jbo 7 unicode vim utf-8 tmux emoji
Emojis仅在tmux内部的vim中显示不正确,并且仅在tmux内的vim中显示.Emojis在tmux之外的vim中按预期工作.Emojis在tmux内部的其他程序中按预期工作.
vim ~/echoemoji.sh
Run Code Online (Sandbox Code Playgroud)
sh ./echoemoji.sh
Run Code Online (Sandbox Code Playgroud)
nano ./echoemoji.sh
Run Code Online (Sandbox Code Playgroud)
vim ./echoemoji.sh
Run Code Online (Sandbox Code Playgroud)
的vimrc
set encoding=utf-8
set t_Co=256
set termencoding=utf-8
:set term
term=xterm-256color
Run Code Online (Sandbox Code Playgroud)
tmux.conf
set -g default-terminal "xterm-256color"
Run Code Online (Sandbox Code Playgroud)
iterm2
Character Encoding: UTF-8
Report Terminal Type: xterm-256color
Font: Hack
Non-ASCII Font: Inconsolata-dz for Powerline
Use HFS+ Unicode normalization (checked)
Run Code Online (Sandbox Code Playgroud)
zshrc
alias tmux="tmux -u" # Tried with and without
Run Code Online (Sandbox Code Playgroud)
这是 iterm 的默认 unicode 版本为 8,nvim 的默认版本为 9 的问题。在装订线上切换表情符号字符可以解决此问题。(iTerm 3.1将有更多可配置的表情符号版本)
https://www.reddit.com/r/vim/comments/6vkoii/vim_text_rendering_off_by_one_issue/
选择 Iterm2->Profiles->Text->Use Unicode versoin 9 widths