zsh-users / zsh-autosuggestions

Fish-like autosuggestions for zsh
MIT License
31.41k stars 1.87k forks source link

Highlighting style not working in tmux. #229

Closed mtbehisseste closed 7 years ago

mtbehisseste commented 7 years ago

Everything is ok when using zsh. The highlighting style of autosuggestions(I changed it to fg=240) works. But when I use tmux, the color of the suggestions did not change to what I expected(fg=240). The color is exactly the origin command line color. Other functions like right arrow key to complete or command line suggestions work well. There's only problem about highlighting styles in tmux. Any suggestion?

philippotto commented 7 years ago

I'm experiencing the same issue. I've enabled set -g default-terminal screen-256color in .tmux.conf, but this doesn't help. When tmux is closed, everthing works fine.

ghost commented 7 years ago

Also experiencing this issue

tmux suggestion color

screen shot 2017-04-21 at 10 45 00 am

outside of tmux session

screen shot 2017-04-21 at 10 45 10 am

Note that issue is also occurring on the git zsh plugin inside of tmux

mojidong commented 7 years ago

tmux default TERM is screen:

$ env | grep TERM
TERM=screen

You can solve it like this:

echo  "export TERM=xterm-256color" >> ~/.zshrc
exec zsh
mojidong commented 7 years ago

If you use MacOS iTerm2, you may need to modify the terminal type.

MacOS iTerm2:

Preferences -> Profile -> Terminal -> Report Terminal Type :  xterm-256color
ericfreese commented 7 years ago

Sounds like this is solved. Thanks everyone 👍

ericfreese commented 7 years ago

Just came across another relevant link. See the tmux FAQ: https://github.com/tmux/tmux/wiki/FAQ#how-do-i-use-a-256-colour-terminal

ZhouShengsheng commented 6 years ago

Setting the default term to xterm-256color in your .tmux.conf does the trick:

# Set default term to xterm
set -g default-terminal xterm-256color
crysis-ps commented 4 years ago

You can solve it like this:

echo  "export TERM=xterm-256color" >> ~/.zshrc
exec zsh

Thanks. I made the block in .zshrc to make this only for tmux:

if [ ! "$TMUX" = "" ]; then export TERM=xterm-256color; fi

vegerot commented 3 years ago

However, I have read that

Tmux REALLY wants the terminal set to screen or screen-256color

Would this workaround perhaps break other things?

afirth commented 2 years ago

Would this workaround perhaps break other things?

yes, neovim for example

afirth commented 2 years ago

my workaround (gnome terminal) is

term prefs -> profiles -> show bold text in bright colors

and

.zshrc

zle_highlight=(default:bold)
# change color for solarized dark
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=60' # makes it light grey, non bold

no doubt you can do the first part in gconf if you like

this causes text in the terminal to be bold (and bright) and suggestions to be "normal"

igloo1505 commented 1 year ago

If you use MacOS iTerm2, you may need to modify the terminal type.

MacOS iTerm2:

Preferences -> Profile -> Terminal -> Report Terminal Type :  xterm-256color

I know this is old, but in 2023 this still worked for me!

DeepaPrasanna commented 1 year ago

if [ ! "$TMUX" = "" ]; then export TERM=xterm-256color; fi

I have added this in .zshrc . this seems to not work for me. I have ubuntu 22.04

a-pav commented 7 months ago

Using TPM (Tmux Plugin Manger) and the tmux-sensible plugin is another fix for this issue.