大家好,又见面了,我是你们的朋友全栈君。
坑1:256 color support for vim background in tmux
解决终端颜色配置与 tmux 颜色配置不匹配问题。
https://superuser.com/questions/399296/256-color-support-for-vim-background-in-tmux
原因
From the look of your .bashrc and .profile, the shells inside tmux are overriding the ‘default-terminal’ setting in your tmux conf. Something like this:
- tmux creates new shell with
TERM=screen-256color
- .bashrc/.profile run, set
TERM=xterm-256color
- vim runs, tries to use incorrect TERM for tmux
you can check this by running
echo $TERM
in a fresh tmux shell.
Tmux is relatively picky about having a terminal set correctly. If you can, set the term value in gnome-terminal’s configuration, not in your .bashrc. Failing that, surround those settings with a check for “screen” or “screen-256color” TERM, and don’t reset them in that case.
Tmux REALLY wants the terminal set to screen
or screen-256color
解决方法
This is what worked for me in #Ubuntu and #Mac:
# File: ~/.bashrc (Ubuntu), ~/.bash_profile (Mac)
# for VIM and TMUC
if [ "$TERM" = "xterm" ]; then
export TERM=xterm-256color
fi
alias tmux='tmux -2' # for 256color
alias tmux='tmux -u' # to get rid of unicode rendering problem
Reload settings:
$ source ~/.bashrc # Ubuntu
$ source ~/.bash_profile # Mac
Set up .bashrc for Mac (as it is used by tmux)
# File: ~/.bashrc (Mac)
source ~/.bash_profile
Set up “default-terminal” option in ~/.tmux.conf.
# File: ~/.tmux.conf
set -g default-terminal "screen-256color" # Mac and Ubuntu
坑 2:Change background color of active or inactive pane in Tmux
详解 .tmux.conf 配置文件设置背景颜色的方法。其中,fg 是字体颜色,bg 是背景颜色。
https://newbedev.com/change-background-color-of-active-or-inactive-pane-in-tmux
It seems that tmux-2.1 (released 18 October 2015) now allows the colours of individual panes to be specified. From the changelog:
* 'select-pane' now understands '-P' to set window/pane background colours.
e.g. [from the manual] to change pane 1’s foreground (text) to blue and background to red use:
select-pane -t:.1 -P 'fg=blue,bg=red'
To mimic iTerm colour scheme:
To answer the original question, I use the following lines in my ~/.tmux.conf
for setting the background/foreground colours to mimic the behaviour in iTerm:
#set inactive/active window styles
set -g window-style 'fg=colour247,bg=colour236'
set -g window-active-style 'fg=colour250,bg=black'
# set the pane border colors
set -g pane-border-style 'fg=colour235,bg=colour238'
set -g pane-active-border-style 'fg=colour51,bg=colour236'
坑 3:Reloading tmux config
写完配置文件后,需要手动 source
使其生效。
https://blog.sanctum.geek.nz/reloading-tmux-config/,Posted on 2012-03-19
If you have made changes to your tmux configuration file in the ~/.tmux.conf
file, it shouldn’t be necessary to start the server up again from scratch with kill-server
. Instead, you can prompt the current tmux session to reload the configuration with the source-file
command.
This can be done either from within tmux, by pressing Ctrl+B and then :
to bring up a command prompt, and typing:
:source-file ~/.tmux.conf
Or simply from a shell:
$ tmux source-file ~/.tmux.conf
This should apply your changes to the running tmux server without affecting the sessions or windows within them.
This entry was posted in Tmux and tagged configuration, reload, source, source-file, tmux.conf by Tom Ryder. Bookmark the permalink.
附:tmux 配置中的 colour0~255 颜色表
You can create it with for i in {0..255}; do printf "\x1b[38;5;${i}mcolor%-5i\x1b[0m" $i ; if ! (( ($i + 1 ) % 8 )); then echo ; fi ; done
配置文件:
效果:
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/151786.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...