เป็นกลุ่ม: แสดงตัวดึงข้อมูลบรรทัด & carriage-return


34

ฉันจะแสดงตัวดึงข้อมูลบรรทัดและ / หรืออักขระขึ้นบรรทัดใหม่ใน vi / vim ได้อย่างไร

ฉันรู้ว่าset listจะแสดงอักขระช่องว่างทั้งหมด (?) แต่ก็แทนที่แท็บ \ t ฯลฯ (แต่นั่นไม่ใช่สิ่งที่ฉันต้องการ) โดยทั่วไปฉันแค่ต้องการแสดงตัวอักษรบางตัวเช่น \ r (บนเดเบียนนี่ดูเหมือนจะเป็นค่าเริ่มต้น แต่ใน Gentoo มันต่างกัน)

ขอแสดงความนับถือ

คำตอบ:


16

ใน Vim เวอร์ชันล่าสุดมีการตั้งค่า 'listchars' ที่ให้คุณระบุอักขระที่ควรใช้สำหรับอักขระ EOL และ TAB และช่องว่างต่อท้าย

คุณสามารถ:

set listchars=eol:$,tab:\[SPACE]\[SPACE]

... ที่จะแสดงตัวอักษร EOL เป็นพิเศษโดยไม่ต้องยุบแท็บ (พิมพ์อักขระช่องว่างไม่[, S, P, A, ... )

ฉันไม่รู้อะไรเป็นพิเศษเกี่ยวกับตัวอักษรส่งคืนในการตั้งค่า 'listchars' แต่ฉันสงสัยว่าคุณสามารถใช้การเน้นไวยากรณ์สำหรับสิ่งนี้ได้ ฉันคิดว่าการแสดงเริ่มต้นของอักขระ \ r คือการแสดงด้วยการเน้นเป็นพิเศษ

ดังนั้นค่าเริ่มต้น SpecialKey ที่ไฮไลต์ของอักขระ \ r รวมกับการตั้งค่า 'listchars' ข้างต้นควรใกล้เคียงกับสิ่งที่คุณต้องการ

:highlight SpecialKey ctermfg=5

... ถ้าคุณชอบสีม่วงแดง


ขอบคุณlistcharsช่วยแล้ว คุณจะอธิบายวิธีใช้งานให้ฉันได้SpecialKeyไหม ฉันไม่พบข้อมูลที่เป็นประโยชน์ใด ๆvimdoc.sourceforge.net/htmldoc/syntax.html#hl-SpecialKeyก็ไม่ได้ช่วยอะไรมาก
watain

SpecialKey เป็นป้ายกำกับการเน้นไวยากรณ์ในตัวสำหรับอักขระใด ๆ ที่แสดง "พิเศษ": ตัวควบคุมและสิ่งที่คล้ายกัน หากคุณพิมพ์ ": เน้นแถบเครื่องมือพิเศษ" นั่นจะบอกคุณว่าอักขระเหล่านั้นจะปรากฏอย่างไร
njd

เมื่อฉันลองset listcharsฉันได้รับข้อผิดพลาดต่อไปนี้: E474: Invalid argument: listchars=eol:$,tab:\[SPACE]\[SPACE]. ฉันใช้ MacVim 8.0.596 (133)
Eliot

22

เปิดDOSไฟล์ข้อความที่กำหนดใหม่ในUNIXformart:

:e ++ff=unix

คุณจะเห็น^M(\ r) ที่ท้ายบรรทัด
หากคุณต้องการแสดงเป็น^Mhex:

:set dy=uhex

5

เพิ่มบรรทัดต่อไปนี้ใน.vimrcไฟล์ของคุณ:

set fileformats=unix

นี่เป็นสาเหตุให้กลุ่มสนับสนุนไฟล์สไตล์ยูนิกซ์เท่านั้น สำหรับการสิ้นสุดบรรทัดลักษณะที่ไม่ใช่ Unix อักขระการขึ้นบรรทัดใหม่\rจะแสดงอย่างชัดเจนในกลุ่ม^Mดังนี้


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