บอกเครื่องหมายขีดกลาง (-) เครื่องหมายขีดกลาง (-) และเครื่องหมายบอกระยะห่าง (-)


16

เส้นประ (-), เส้นประ (-) และ emdash (-) นั้นแตกต่างกัน แต่ยากที่จะแยกออกจากกัน ทำให้เกิดปัญหาเช่นเมื่อเขียนโปรแกรม มีวิธีที่จะบอกพวกเขาใน emacs ได้ง่ายกว่ากันไหม? ขอบคุณ


คุณสามารถพูดคุยเกี่ยวกับกรณีการใช้งานเกี่ยวกับขีดกลางที่ทำให้เกิดปัญหาเมื่อเขียนรหัสได้หรือไม่? เส้นประเดียวที่ฉันเจอในขณะที่อ่านและเขียนรหัสคือเส้นประปกติ ผมใช้ n ประและ m ประเฉพาะในเอกสาร org โหมดการใช้และ-- ---
Kaushal Modi


ดังนั้นปัญหาไม่ได้อยู่ที่รหัสใน emacs แต่มาจากสิ่งที่คุณคัดลอกมาจากหน้าเว็บ เป็นไปได้ว่าคนที่เขียนบทความที่ไม่ได้ดังนั้นในการorg-modeที่--จะทำให้เป็น n =command --some-arg=ประจนกว่าจะมีการห่อในคำต่อคำหรือรหัสการจัดรูปแบบเช่น
Kaushal Modi

ฉันเชื่อบ้างไหม? ทั้งหมดหรือไม่ รสชาติของมาร์กดาวน์ยังรองรับสิ่งที่แพร่หลายกว่าโหมด org สำหรับการเขียนบล็อก นั่นเป็นปัญหาที่น่าเป็นไปได้มาก
Kaushal Modi

1
แน่นอนว่าอันแรกคือเครื่องหมายขีดกลางไม่ใช่เส้นประเลย
TRiG

คำตอบ:


10

นี่คือความสนุกเล็ก ๆ น้อย ๆ กับใบหน้ายิ้ม Unicode เส้นประที่มองเห็นจะกลายเป็นใบหน้าที่ยิ้มแย้มดำ em-dash จะกลายเป็นหน้ายิ้มสีขาว หมายเหตุรุ่น Emacs บางรุ่นอาจไม่รองรับอักขระ Unicode แบบหน้ายิ้ม - ใช้เพื่อการสาธิตเท่านั้น - สามารถเลือกอักขระ Unicode อื่นได้ สามารถใช้ใบหน้าอื่นและผู้ใช้มีอิสระในการเขียนใบหน้าของตนเอง

(let ((glyph-en-dash (make-glyph-code ?\u263A 'font-lock-keyword-face))
      (glyph-em-dash (make-glyph-code ?\u263B 'font-lock-function-name-face)) )
  (when (not buffer-display-table)
    (setq buffer-display-table (make-display-table)))
  (aset buffer-display-table 8211 `[,glyph-en-dash])
  (aset buffer-display-table 8212 `[,glyph-em-dash]))

นี่คือตัวอย่างการปรับปรุงที่มีประสิทธิภาพเชื่อมยัติภังค์ลบและเพิ่มสี - คือการ8211 มองเห็นจะกลายเป็น--กับfont-lock-keyword-faceเป็นสี; และการ8212 มองเห็นจะกลายเป็น---กับfont-lock-function-name-faceเป็นสี

(let ((glyph-en-dash (make-glyph-code ?\u002D 'font-lock-keyword-face))
      (glyph-em-dash (make-glyph-code ?\u002D 'font-lock-function-name-face)) )
  (when (not buffer-display-table)
    (setq buffer-display-table (make-display-table)))
  (aset buffer-display-table 8211 `[,glyph-en-dash ,glyph-en-dash])
  (aset buffer-display-table 8212 `[,glyph-em-dash ,glyph-em-dash ,glyph-em-dash]))

en-dash สามารถถูกเรนเดอร์เป็น--และ em-dash เหมือนกับ---ใบหน้าที่แตกต่างเช่นตัวหนาสีแดงเพื่อให้ผู้ใช้รู้ว่า emacs ได้แสดงผลเหล่านั้นแตกต่างกันหรือไม่?
Kaushal Modi

2
@kaushalmodi - ฉันอัปเดตตัวอย่างเพื่อรวม8211เช่นเดียว--กับfont-lock-keyword-face; และ8212เป็นกับ--- font-lock-function-name-face
ฏหมาย

9

หากต้องการอ้างอิงเอกสาร:

C-x =รันคำสั่งซึ่งเป็นแบบโต้ตอบรวบรวมฟังก์ชั่นเสียงกระเพื่อมในwhat-cursor-positionsimple.el

C-x =มันถูกผูกไว้กับ

(what-cursor-position &optional DETAIL)

พิมพ์ข้อมูลเกี่ยวกับตำแหน่งเคอร์เซอร์ (บนหน้าจอและภายในบัฟเฟอร์) อธิบายตัวละครหลังจากจุดและให้รหัสตัวละครในฐานแปดทศนิยมและฐานสิบหก

สำหรับอักขระแบบมัลติไบต์ที่ไม่ใช่ ASCII ให้การเข้ารหัสในระบบการเข้ารหัสที่เลือกของบัฟเฟอร์หากระบบการเข้ารหัสเข้ารหัสอักขระอย่างปลอดภัย หากอักขระถูกเข้ารหัสเป็นหนึ่งไบต์รหัสนั้นจะแสดงเป็นเลขฐานสิบหก หากอักขระถูกเข้ารหัสเป็นมากกว่าหนึ่งไบต์ระบบจะแสดงเฉพาะ "... "

นอกจากนี้ด้วยอาร์กิวเมนต์นำหน้าแสดงรายละเอียดเกี่ยวกับตัวละครนั้นใน * Help * buffer ดูเพิ่มเติมที่คำสั่ง `บรรยาย - Char '

เน้นและจัดรูปแบบเหมือง

พยายามจำรหัสเหล่านี้:

  • HYPHEN-MINUS 45
  • EN DASH 8211
  • EM DASH 8212

แต่ถ้าคุณลืมพวกเขาคุณสามารถทำได้อย่างง่ายดายC-u C-x =ซึ่งปรากฏขึ้นบัฟเฟอร์ด้วยข้อมูลเพิ่มเติมรวมถึงname:เขตข้อมูล


1
ความแตกต่างระหว่างเครื่องหมายขีดคั่นลบและขีดในรูปของร่ายมนตร์ของพวกเขาคืออะไร?
StackExchange สำหรับทั้ง

HYPHEN-MINUSเป็นชื่อ Unicical ของ canonical สำหรับเส้นประธรรมดาซึ่งคุณสามารถพิมพ์ได้โดยการกดปุ่มทางด้านซ้ายของ=ปุ่ม มันเป็นเส้นประ "ปกติ" ที่ใช้ในการเขียนโปรแกรม
PythonNut

มันจะเรียกว่าเส้นประและเมื่อยัติภังค์?
StackExchange สำหรับทั้งหมด

@Tim เท่าที่เรามีความกังวลพวกเขามีความหมายเหมือนกัน ร่างกายมาตรฐาน Unicode เรียกมันว่ายัติภังค์ คุณเรียกมันว่าเส้นประ .... ไม่ว่าคุณจะผิด
PythonNut

4
@ Tim ในการสะกดการันต์ของอังกฤษเครื่องหมายขีดคั่นเชื่อมต่อสิ่งต่าง ๆ ตัวอย่างเช่นมียัติภังค์ในยี่สิบสามตัวอย่างเช่น ขีดแยกสิ่งต่าง ๆ ฉันจะไม่เรียกมันว่าเส้นประเลย
TRiG

6

ใช้ไลบรารีhighlight-chars.elเพื่อเน้นตัวอักษร Unicode ใด ๆ ที่คุณต้องการ ดูไฮไลท์อักขระบน Emacs Wiki

คุณสามารถใช้คำสั่งhc-highlight-charsเพื่อเน้นอักขระได้สี่วิธี:

  1. เป็นรายบุคคล
  2. ใช้ช่วง
  3. ใช้คลาสอักขระ (เช่น[:digit:])
  4. ใช้ชุดอักขระ (เช่นiso-8859-1หรือlao)

hc-highlight-charsพร้อมท์ให้คุณใส่อักขระเพื่อไฮไลต์ในใบหน้าที่ต้องการและใบหน้าที่จะใช้สำหรับพวกเขา (ด้วยคำนำหน้าแย้งว่ามันเป็นสิ่งที่น่าสนใจ)

เมื่อคุณได้รับพร้อมท์เพื่อให้อักขระเน้นสีคุณสามารถใช้C-x 8 RETเพื่อเลือกอักขระ Unicode โดยใช้การทำให้สมบูรณ์

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