tmux vim colorscheme background ไม่แสดงให้เห็น


12

ฉันได้ติดตั้ง tmux แล้ว แต่ตอนนี้ text text vim colorschemes ไม่เติมสีพื้นหลังอย่างเหมาะสม นี่คือลักษณะที่ปรากฏของ colorscheme xoria256 ในเทอร์มินัล Ubuntu 14.10 ปกติ:

ป้อนคำอธิบายรูปภาพที่นี่

และที่นี่เมื่อฉันเรียกใช้ในเทอร์มินัลเดียวกันหลังจาก tmux:

ป้อนคำอธิบายรูปภาพที่นี่

ดังนั้นอย่างที่คุณเห็นเดสก์ท็อปกำลังแสดงผ่านทุกที่ที่ไม่มีข้อความเป็นกลุ่ม ฉันมีเทอร์มินัล 256 สี

. tmux.conf ของฉัน:

~ cat .tmux.conf
set -g mode-mouse on
set -g default-terminal "screen-256color"

และฉันมีเทอร์มินัล 256 สี:

~ tput colors
256

ฉันจะทำให้ tmux ทำงานอย่างถูกต้องด้วย vim 256-color colours ซึ่งทำงานได้ดีใน terminal ปกติอย่างไร?


จากประสบการณ์ของผมจะทำงาน tmux gnome-terminalแปลกเมื่อเปิดตัวภายใน ลองเรียกใช้ tmux ด้วยTERM=xterm tmuxและดูว่ามันทำงานแตกต่างกันหรือไม่ ถ้าxtermไม่ทำงานลองหรือxterm-256color xterm-color
jw013

@ jw03 น่าเสียดายที่ไม่มีตัวเลือกเหล่านี้ในการแก้ไข พฤติกรรมเหมือนกัน พฤติกรรมเดียวกันถ้าฉันเรียกใช้ tmux ใน terminator
Thomas Browne

1
ในเชลล์ภายใน tmux ค่าของ$TERMอะไร? หากยังไม่ได้screen-256colorลองเปิดตัวvimเป็นTERM=screen-256color vimแล้วให้ชุดสคริปต์แน่ใจว่าไม่มีการเริ่มต้นTERM(หรือถ้าคุณต้องการที่จะทำในการทำงานรอบซอฟต์แวร์รถให้แน่ใจว่ามันจะตรวจสอบค่าเดิมก่อน)
Ry-

@minitech: Bingo ฉันมี xterm-256color ในขณะที่ screen-256color แก้ปัญหาได้ หากคุณตอบคำถามนี้ฉันจะยอมรับมัน
โทมัสบราวน์

สิ่งนี้ใช้ได้กับฉัน: stackoverflow.com/a/15095377/96855
Olivier Lalonde

คำตอบ:


5

สิ่งนี้เกิดขึ้นเมื่อTERMไม่ได้ตั้งค่าถูกต้องscreen[-256color]ในสภาพแวดล้อมของ Vim โดยปกติแล้วโดยสคริปต์เริ่มต้นเชลล์บางตัว ถ้าเป็นเช่นนั้น - ตัวอย่างเช่นคุณมี

TERM=xterm-256color

เอาออกหรือตรวจสอบให้แน่ใจว่าได้ตรวจสอบค่าดั้งเดิมของTERMก่อนที่จะเปลี่ยนเช่น

if [[ $TERM == xterm ]]; then
    TERM=xterm-256color
fi


2

ความคิดเห็นที่ล่าช้า แต่ฉันได้ดูหัวข้อทั้งหมดและไม่สามารถแก้ไขได้จนกว่าฉันจะทำต่อไปนี้ สิ่งที่ฉันต้องทำคือเพิ่มเช็คครั้งที่สอง

if [[ $TERM == screen]]; then
    TERM=screen-256color
fi

นอกเหนือจากคำสั่งเงื่อนไขแรกใน.bashrcไฟล์ของฉัน:

if [[ $TERM == xterm ]]; then
    TERM=xterm-256color
fi

ฉันยังมีสิ่งนี้ใน.tmux.conf:

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

ใน.vimrcไฟล์ของฉัน:

set term=screen-256color
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.