การใช้ชุดรูปแบบสีกับเสียงเรียกเข้าและสีโป๊ว


15

ฉันกำลังพยายามใช้โครงร่างสีทะเลทรายกับ VIM 7.0 บน CentOS 5.6 x64 อยู่ที่นี่:

http://hans.fugal.net/vim/colors/desert.vim

ฉันดาวน์โหลดไฟล์และบันทึกไว้ใน~/.vim/colorsไดเรกทอรีของฉัน จากนั้นฉันก็บอกให้ VIM ใช้ชุดสีโดยออก:

:colors desert

มันควรจะเป็นแบบนี้:

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

อย่างไรก็ตามฉันได้รับสิ่งนี้:

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

ฉันเข้าสู่เซิร์ฟเวอร์นี้เหมือนผู้ใช้ทั่วไป (ไม่ใช่rootหรือsudo) โดยใช้ PuTTY 0.60 และตั้งค่าตัวเลือกต่อไปนี้ภายใต้Window -> Colours:

อนุญาตให้เทอร์มินัลระบุ ANSI สี - ทำเครื่องหมาย
อนุญาตให้เทอร์มินัลใช้โหมด 256 สี - ทำเครื่องหมายไว้
การทดสอบตัวหนาเป็นสีอื่น - ทำเครื่องหมายแล้ว
พยายามใช้จานสีแบบลอจิคัล - ไม่ถูกตรวจสอบ
ใช้สีของระบบ - ไม่ถูกตรวจสอบ

ถ้าฉันsudoหรือเข้าสู่ระบบเป็นrootและลองเดียวกันฉันไม่ได้สีใด ๆ เลยนอกจากข้อความสีขาวบนพื้นหลังสีดำ

โครงร่างเหล่านี้มีจุดประสงค์หลักที่ gVIM และ PuTTY ไม่สามารถแสดงสีเหล่านี้ได้หรือไม่?

ฉันใช้ google ไปสักพักแล้วก็ชนบทความเช่นนี้แต่พวกเขาไม่ทำงาน

คำตอบ:


22

xtermโดยค่าเริ่มต้นฉาบนำเสนอตัวเองเป็น terminfoฐานข้อมูลโดยใช้โปรแกรมต่างๆเพื่อตรวจสอบความสามารถในการมินัลกล่าวว่าxtermการสนับสนุนแปดสีเท่านั้น:

$ infocmp -1L xterm | grep max_colors

ซึ่งหมายความว่าแม้ว่า Xterm รุ่นของคุณจะรองรับโหมด 256 สีโปรแกรมจะไม่ทราบ

  • การแก้ไขที่ง่ายที่สุดคือการตั้ง $ xterm-256colorตัวแปรสภาพแวดล้อมของคุณเพื่อลงทุน

    (ในของคุณ ~ / .profile คุณสามารถใช้:
    if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi)

  • คุณสามารถบอกได้ฉาบไปเสมอระบุตัวเองเป็นxterm-256colorผ่านการกำหนดค่าการเชื่อมต่อ→→→ข้อมูลเทอร์มิ-ประเภทสตริง

    หมายเหตุ: หากคุณใช้ # 1 หรือ # 2 และคุณเชื่อมต่อกับเซิร์ฟเวอร์ที่ไม่ได้เป็นมี apropriate terminfo รายการทุกโปรแกรมตุ๋ยจะทำลาย

  • นอกจากนี้คุณยังสามารถตั้งค่า't_Co'ตัวเลือกในกลุ่ม256เพื่อแทนที่ค่า terminfo

    if &term == "xterm"
        set t_Co=256
    endif
    
  • หรือคุณสามารถแก้ไขฐานข้อมูลterminfo

    $ infocmp -L -1 xterm | sed -r 's/(max_colors)#[0-9]+/\1#256/' > /tmp/xterm
    $ tic /tmp/xterm
    

    ~/.terminfoรายการการปรับปรุงจะถูกเก็บไว้ใน


คำตอบที่ยอดเยี่ยม มันดีกว่า แต่ฉันมีความรู้สึก 256 สีไม่เพียงพอที่จะแสดงเฉดสีพาสเทลเหล่านี้ คิดว่าทำไมฉันถึงไม่ได้สีอะไรเลยเมื่อลงชื่อเข้าใช้ด้วยroot?
Kev

1
@Kev: 1) โหมด 256 สีเป็นสิ่งที่ดีที่สุดที่คุณจะได้รับในโปรแกรมจำลองเทอร์มินัลที่รองรับ VT100 (ผมได้ยิน KDE Konsole มีการสนับสนุนจริงสี แต่มันเป็นเรื่องที่ไม่เป็นมาตรฐานมาก.) 2) เมื่อคุณเข้าสู่ระบบเป็นรากคุณจะได้รับไดเรกทอรีบ้านแยกและแยก~/.vim/colorsได้เป็นอย่างดี
user1686

1
@Kev: เนื่องจากvi ไม่มีโครงร่างสีหรือการเน้นไวยากรณ์ - หรืออะไรก็ตามยกเว้นคุณสมบัติพื้นฐานดั้งเดิม (กลุ่มคือ "ปรับปรุงให้ดีขึ้น" หลังจากทั้งหมด)
1686

1
vi --versionบอกว่ามันเป็นกลุ่มดังนั้นจะตัดเป็นกลุ่มกลับเพื่อให้ดูเหมือน vi? ขออภัยถ้าเป็นคำถามที่บ้าคลั่งมันเป็นเวลาหลายปีแล้วที่ฉันทำงานกับยูนิกซ์ด้วยความโกรธ (กล่อง SCO Unix ที่มีพอร์ตอนุกรม) และมีเพียง vi (real vi)
Kev

1
เรียงจาก เมื่อคุณเรียกใช้ vim เป็น " vi" มันจะเริ่มในโหมด "ความเข้ากันได้" ซึ่งจะทำงานได้มากที่สุดเช่น vi ฉันไม่รู้จัก CentOS ดังนั้นฉันไม่แน่ใจว่ามันเป็นเพียงโหมดหรือโครงสร้างที่ถูกตัดแบ่งออกทั้งหมด (distro ของฉันทำแพ็กเกจ vi จริงแทน ... )
user1686
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.