대시 (-), 대시 (-) 및 엠 대시 (—)를 구분하십시오.


16

대시 (-), en-dash (-) 및 emdash (—)는 다르지만 구분하기 어렵습니다. 예를 들어 프로그램을 작성할 때 문제가 발생합니다. emacs에서 쉽게 구분할 수있는 방법이 있습니까? 감사.


코드를 작성할 때 문제를 일으키는 대시에 대한 사용 사례에 대해 이야기 할 수 있습니까? 코드를 읽고 쓰는 동안 내가 만난 대시는 일반 대시입니다. 내가 사용하는 경우에만 조직 모드의 문서에서 N-대시와 m-대시를 사용 --하고 ---.
Kaushal Modi


따라서 문제는 emacs의 코드가 아니라 웹 페이지에서 복사 한 것입니다. 그것은 그 기사를 쓴 사람에 그렇게 가능성이 높습니다 org-mode--이 그대로 또는 코드가 같은 서식에 싸여하지 않는 n 형 대시로 렌더링됩니다 =command --some-arg=.
Kaushal Modi

나는 일부를 믿습니까? 모두? 마크 다운의 풍미는 블로그를 작성하는 조직 모드보다 훨씬 널리 사용됩니다. 따라서 이는 매우 가능성있는 문제입니다.
Kaushal Modi 1

1
분명히 첫 번째 것은 하이픈이며 대시는 아닙니다.
TRiG

답변:


10

다음은 유니 코드 웃는 얼굴에 대한 약간의 재미입니다. 엔 대시는 시각적으로 검은 웃는 얼굴이됩니다. 엠 대시는 시각적으로 하얀 웃는 얼굴이됩니다. 일부 Emacs 버전은 웃는 얼굴의 유니 코드 문자를 지원하지 않을 수 있습니다. 이것은 단지 데모 용일뿐입니다. 물론 다른 유니 코드 문자도 선택할 수 있습니다. 다른 얼굴을 사용할 수 있으며 사용자는 자신의 얼굴을 자유롭게 작성할 수 있습니다.

(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]))

사용자가 emacs가 다르게 렌더링했음을 사용자가 알 수 있도록 굵은 빨간색과 같은 뚜렷한 얼굴 -----사용 하여 en-dash를 렌더링 하고 em-dash를 렌더링 할 수 있습니까?
Kaushal Modi

2
@kaushalmodi - 나는 포함하는 예 업데이트 8211--과를 font-lock-keyword-face; 와 8212같은 ---font-lock-function-name-face.
lawlist

9

문서를 인용하려면 :

C-x =what-cursor-position대화 형으로 컴파일 된 Lisp 함수 인 명령을 실행합니다 simple.el.

에 바인딩되어 C-x =있습니다.

(what-cursor-position &optional DETAIL)

커서 위치 (화면 및 버퍼 내)에 정보를 인쇄하십시오. 또한 점 뒤의 문자를 설명하고 8 진수, 10 진수 및 16 진수로 문자 코드를 제공하십시오.

비 ASCII 멀티 바이트 문자의 경우, 코딩 시스템이 문자를 안전하게 인코딩하는 경우 버퍼의 선택된 코딩 시스템에서 해당 인코딩을 제공하십시오. 문자가 1 바이트로 인코딩 된 경우 해당 코드는 16 진으로 표시됩니다. 문자가 둘 이상의 바이트로 인코딩 된 경우 "..."만 표시됩니다.

또한 접두어 인수와 함께 * Help * 버퍼에 해당 문자에 대한 세부 사항을 표시하십시오. `describe-char '명령도 참조하십시오.

내 강조 및 서식 지정

다음 코드를 기억하십시오.

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

그러나 잊어 버린 경우 쉽게 할 수 있습니다 . 필드를 C-u C-x =포함하여 추가 정보가있는 버퍼가 나타납니다 name:.


1
글리프 측면에서 하이픈, 빼기 및 대시의 차이점은 무엇입니까?
대한 StackExchange

HYPHEN-MINUS일반 대시의 표준 유니 코드 이름이며 일반적으로 키 왼쪽의 =키 를 눌러 입력 할 수 있습니다 . 프로그래밍의 모든 곳에서 사용되는 "일반"대시입니다.
PythonNut

언제 대시라고하고 언제 하이픈?
대한 StackExchange

@Tim 우리가 생각하는 한, 그들은 동의어입니다. 유니 코드 표준 본문에서는이를 하이픈이라고합니다. 당신은 그것을 대시라고 부릅니다.
PythonNut

4
@ 팀. 영어 직교 법에서 하이픈은 사물을 연결합니다. 예를 들어, 스물셋 에는 하이픈이 있습니다 . 별도의 것을 대시합니다. 나는 그 대시를 전혀 부르지 않을 것입니다.
TRiG February

6

라이브러리 highlight-chars.el를 사용 하여 원하는 유니 코드 문자를 강조 표시하십시오. Emacs Wiki의 하이라이트 문자 를 참조하십시오 .

명령 hc-highlight-chars을 사용 하여 네 가지 방법으로 문자를 강조 표시 할 수 있습니다 .

  1. 개별적으로
  2. 범위를 사용하여
  3. (예를 들어, 문자 클래스를 사용 [:digit:])
  4. 문자 집합 사용 (예 : iso-8859-1또는 lao)

hc-highlight-chars캐릭터가 특정 얼굴에서 강조 표시하고 사용할 얼굴을 묻습니다. (접두사가 arg이면 강조 표시가 해제됩니다.)

문자를 강조 표시하라는 메시지가 표시되면 C-x 8 RET완료를 사용하여 유니 코드 문자를 선택할 수 있습니다 .

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.