终端Emacs中的删除线

时间:2018-11-29 19:24:08

标签: unicode emacs

我试图获得删除线以在终端emacs中工作。当我通过face路线添加删除线时,什么也没有发生。但是,我可以将带有删除线的文本粘贴到emacs中,并且可以正确呈现。当我在describe-char上写着(用 i 完成)时:

Composed with the following character(s) "̶" by these characters:  
i (#x69)
- (#x336)

我知道许多终端无法处理删除线,但是我知道可以,因为您可以将其粘贴到删除线中。我正在努力理解为什么不能编辑面部,但是我可以粘贴删除线。

1 个答案:

答案 0 :(得分:1)

听起来好像您想插入要删除的组成字符,以便您要更改缓冲区的内容。我不认为我遇到了所有困难的情况,但这是一个开始:

(defun strikeout-region (b e)
  "Use \"COMBINING LONG STROKE OVERLAY\" unicode char to strike out the region."
  (interactive "r")
  (when (use-region-p)
    (save-mark-and-excursion
      (goto-char b)
      (while (and (<= (point) e)
                (not (eobp)))
        (unless (looking-back "[[:space:]]" (1- (point)))
          (insert-char #x336)
          (setq e (1+ e)))
        (forward-char 1)))))

但是也许您正在尝试显示特定的面孔(通过例如font-lock设置),然后设置strike-through属性是正确的方法。我的终端(rxvt-unicode)也可以显示组成的字符,但是我无法显示带有删除线的人脸。