Org-mode 中文行内格式化的问题

我也觉得目前状态添加零宽空格可能是最好的解决方案,但是我害怕看不见的空格会弄坏格式,比如删除的时候没有正确全部删除,导致零宽空格出现在各种不应该放的地方。

虽然可以用whitespace mode等方法让它显示出来,但是这样看起来排版跟手动加空格一样乱了。 并不能实现很好的显示效果,例如像emeditor上这样: image

所以我写了一个函数来删除这些意外出现的不必要的零宽空格

(defun my/remove-zero-width-space ()
  (interactive)
  (save-excursion
    (save-restriction
      (widen)
      (goto-char (point-min))
      (while (re-search-forward "[^=\\|*\\|+\\|~\\|/\\|_]\\(\u200b\\)[^=\\|*\\|+\\|~\\|/\\|_]" nil t)
        (replace-match "" t t nil 1)
        )
      )
    )
  )
(add-hook 'before-save-hook 'my/remove-zero-width-space)

这种方法可能不是很完美,但是我用着很好。

现在有个问题在于从emacs复制文本的时候貌似没有很好的方法去除这个零宽空格,不过无伤大雅了。