วิธีแสดงตัวเอียงเป็นกลุ่มใน iTerm2


6

ที่รัก solarized โทนสีดูเหมือนจะใช้ใบหน้าตัวเอียงเพื่อแสดงความคิดเห็น แต่เมื่อฉันใช้ vim ใน iTerm2 ไม่เป็นเช่นนั้น

ดังนั้นทุกอย่างรวมถึงความคิดเห็นจะปรากฏในหน้าโรมัน (ปกติ) แม้ว่าฉันจะเลือกแบบอักษร Menlo ซึ่งมีหน้าตัวเอียงที่ฉันสามารถเห็นได้ในหน้าต่างการตั้งค่าของ iTerm2 ความคิดเห็นจะแสดงเป็นภาษาโรมัน

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

สำหรับฉันนี่เป็นข้อบกพร่องในโทนสีที่ยอดเยี่ยมเป็นอย่างอื่น ฉันค้นหาบางอย่าง แต่คำแนะนำเก่าและไม่ได้แก้ปัญหา ฉันใช้ OS X 10.6 Sierra บน MacBook Air

คำตอบ:


15

คุณต้องอัปเดตของคุณ TERMINFO ไฟล์.

ขอบคุณที่ วิดีโอของ wincent และเขา หน้า gitHub
ดูวิดีโอและดูหน้า GitHub ของเขาพวกเขายอดเยี่ยม

ฉันมีบันทึกย่อต่อไปนี้เก็บไว้ใน HD ของฉัน:

เราสามารถมี หนังสือแบบตัวเอียง ในอาคารผู้โดยสาร

สามารถใช้งานได้ใน iTerm และ Terminal

เราต้องปรับฐานข้อมูล terminfo เพื่อบอกให้แสดงตัวเอียง

สร้างไฟล์ข้อความธรรมดาที่มีดังต่อไปนี้:

xterm-256color|xterm with 256 colors and italic,
  sitm=\E[3m, ritm=\E[23m,
  use=xterm-256color,

บันทึกเป็น xterm-256color.terminfo.txt

จากนั้นดำเนินการคำสั่งต่อไปนี้:

tic -o ~/.terminfo xterm-256color.terminfo.txt

สิ่งนี้จะสร้าง ~/.terminfo/some_arbitrary_number/ ไดเรกทอรีและภายในไดเรกทอรีนั้นคือ xterm-256color ไฟล์.

มันทำอะไรตาม manpage:

       The command tic translates a terminfo file from source format into com-
       piled  format.   The  compiled  format  is  necessary  for use with the
       library routines in ncurses(3X).

       The results are  normally  placed  in  the  system  terminfo  directory
       /usr/share/terminfo.  There are two ways to change this behavior.

       First, you may override the system default by setting the variable TER-
       MINFO in your shell environment to a valid (existing) directory name.

       Secondly, if tic cannot get access to /usr/share/terminfo or your  TER-
       MINFO  directory,  it  looks for the directory $HOME/.terminfo; if that
       directory exists, the entry is placed there.

       Libraries that read terminfo entries are expected to check for  a  TER-
       MINFO  directory first, look at $HOME/.terminfo if TERMINFO is not set,
       and finally look in /usr/share/terminfo.

       -o dir   Write  compiled  entries to given directory.  Overrides the TER-
                MINFO environment variable.

ดังนั้นด้วยคำสั่งที่กำหนดเรากำลังเขียนรายการ terminfo ใหม่ในที่ซ่อนอยู่ ~/.terminfo ไดเรกทอรี ใช้ความสามารถของรายการ xterm-256color ที่มีอยู่ (จาก /usr/share/terminfo/ ) และเพิ่มโหมดตัวเอียงลงไป

ในการตรวจสอบว่าเทอร์มินัลทำสิ่งที่ถูกต้อง:

  • กับปลา:

    echo (tput sitm)'italics' (tput ritm) (tput smso)'standout'(tput rmso)
    
  • ด้วย bash หรือ zsh:

    echo `tput sitm`italics`tput ritm` `tput smso`standout`tput rmso`
    

ฉันเดาว่าในขณะนี้ชุดสีที่เทอร์มินัลที่เป็นกลุ่มที่สุดไม่ได้ตั้งตัวเอียงเป็นสไตล์ เพื่อตรวจสอบสิ่งนี้ทำ:
:hi Comment ถ้าคำตอบประกอบด้วย cterm=italic คุณทำเสร็จแล้ว ถ้าไม่เพิ่ม highlight Comment cterm=italic ถึง vimrc ของคุณ ( ด้านล่าง ตั้งค่าสีของคุณ)

ภาคผนวกสำหรับ tmux

tmux ใช้ไฟล์ terminfo ของตัวเองพวกเขายังต้องได้รับการปรับปรุงเพื่อใช้ตัวเอียง

  1. สร้าง tmux.terminfo.txt ไฟล์ที่มี

tmux|tmux terminal multiplexer, sitm=\E[3m, ritm=\E[23m, smso=\E[7m, rmso=\E[27m, use=screen,

  1. สร้าง tmux-256color.terminfo.txt ไฟล์ที่มี

tmux-256color|tmux with 256 colors, sitm=\E[3m, ritm=\E[23m, smso=\E[7m, rmso=\E[27m, use=screen-256color,

และรันคำสั่ง tic

tic -o ~/.terminfo tmux-256color.terminfo.txt
และ
tic -o ~/.terminfo tmux.terminfo.txt


1
ว้าว! หลังจากทำสิ่งเหล่านี้ด้วยการทดสอบที่คุณให้ "ทั้งตัวเอียง" และ "ยอดเยี่ยม" ทั้งสองทำงาน แต่การเปิด cpp ในกลุ่มไม่ได้แสดงความคิดเห็นที่เป็นตัวเอียง ปัญหานี้เกิดขึ้นจากโซลาร์หรือไม่
Aminopterin

1
Oh! ฉันสังเกตเห็นว่า GUI ของ MacVim (เช่นหน้าต่างแยกต่างหากที่แจ้งให้) สามารถแสดงแบบอักษรตัวเอียง แต่ถ้าเปิดในเทอร์มินัล (ด้วย mvim -v ) มันไม่สามารถ เป็นเรื่องปกติหรือไม่
Aminopterin

1
หากคุณเป็นกลุ่ม: :hi Comment มันพูด cterm=italic? ถ้าไม่ใช่ Solarized ไม่ได้ตั้งค่านี้ คุณสามารถทำได้ใน vimrc ของคุณด้วย highlight Comment cterm=italic
PeterVP

1
มันได้ผล!!!! ความคิดเห็นของฉันเป็นตัวเอียงตอนนี้ !!! ฉันจะบอกให้โลกรู้ข่าวดี !!! (ฉันคิดเสมอ Solarized ตั้งค่านี้ตามค่าเริ่มต้น)
Aminopterin

ในเครื่องของฉัน (arch linux), cterm = standout แสดงขึ้นมา หนังสือแบบตัวเอียง และคำสั่งด้านบนสามารถแสดงคำได้ โดดเด่น แต่เป็นตัวเอียง
w17t
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.