# conceal function not working in tmux

Version: vim 8.1

Problem: Latex objects like \int, ^, \alpha, \beta, etc, all get replaced by _ in tmux when using conceallevel=1,2.

Expected: correct concealment, as it happens in normal terminal, outside tmux. For example \int gets replaced by integral sign.

Terminal: Termite

Shell: zsh; new to it

Tried: I thought this was related to zsh somehow because the theme I was also got ruined in tmux; I tried a bunch of different themes, tried changing the font of termite to powerline supported ones, but got nothing.

• This could be a locale issue—make sure your locale includes utf8, if you’re using it, and you may want to include set encoding=utf8 in vim. – D. Ben Knoble Oct 9 '20 at 22:02
• ahm, can you tell me what is a locale - if its not too much to ask? – physicophilic Oct 12 '20 at 13:59
• e.g., locale(5), locale(7) – D. Ben Knoble Oct 12 '20 at 14:11

If you don't want to have an alias for tmux -u, you can make sure LANG, LC_ALL or LC_CTYPE contains a UTF-8 locale because tmux will use them to automatically detect UTF-8.

• Sorry, what are these LANG, etc? Environment variables? – physicophilic Oct 12 '20 at 14:00
• Yes. Normally there will be a way to configure your system locale globally (if you are root). Otherwise you can set them in your shell profiles. Look at the docs for your platform. – Nicholas Marriott Oct 12 '20 at 14:55

Correction

tmux(){
/path/to/tmux -u "\$@"
}


is more appropriate; the previous answer would not allow you to use tmux ls for example.

The problem was utf8 encoding. By default tmux doesn't use it, and this encoding is necessary to get these LaTeX symbols and several other symbols in zsh theme to appear.

calling tmux -u instead of tmux fixed it. detach tmux For a general solution you can define in your .zshrc/.bashrc

tmux(){
/path/to/tmux -u
}


(usually the path will be /usr/bin/tmux) and then source it.