[已解决]我的 Org 会自动插入空格,如何禁用?

  1. 如果同一行内存在英文混排,我发现org文件在保存时会自动在中英文分隔处加入空格(如图);

  2. 在转换为其他格式的文件时,本来在org中紧邻的两行会合为一个段落(It’s nice),但是合并的两行之间会多出一个空格!(我转成.docx文件时发现的)。

请问如何禁止这两个自动出现的空格? org这种自动加空格的行为是出于什么考虑呢?

这是pangu-spacing的功能,如果你用 SPC h SPC 搜索spacemacs的设置的话会在 chinese-layer 里面找到对应的 hook。

这个我也不知道怎么解决_(:зゝ∠)_

1 个赞

事实上,这个插件不会俢改文件,只会调节显示。不过对文字对齐有点影响。

1 个赞

这个插件可以设置在某些 major-mode 保存的时候在文件中添加空格的。spacemacs的chinese-layer默认就会在org保存的时候添加空格。

如果对pangu-spacing做了这个设置就会真的插入空格: add-hook 'org-mode-hook '(lambda () (set (make-local-variable 'pangu-spacing-real-insert-separtor) t)))

如果去掉上面的设置,就只会在emacs打开org文件是显示添加了空格,实际文件不会添加空格,中英问混排时候视觉效果好。 其实我挺喜欢实际添加空格的,就是有时在插入链接或图片之类超链接的时候,超链接如果同时存在中英文,也会给实际文件中的超链接中英文之间添加空格,这样的话,这个超链接路径就不对了。 借帖 也求个办法:joy_cat:

1 个赞

我用了一下,我怎么觉得去除了你说的设置后,不仅达到了不添加空格的效果,而且 显示效果并没有变化啊(在org中还是那种看上去有空格的效果)。

对啊,显示效果不变啊,pangu-spacing的readme有说明 https://github.com/coldnew/pangu-spacing 如果不喜欢这种显示效果的话,干掉pangu-spacing这个package就行了

感谢回答!中英文间加空格的显示方式,我谈不上喜欢,也谈不上不喜欢。

关于第2个问题(合并的两行之间多出的空格),我现在的解决方法是先转成html,然后再拷贝到word文件里。转成HTML时并没有出现多余的空格。 还请各路大神指点。

对于第2个问题,我现在的解决方法是在org文件开头加上这样的配置: #+OPTIONS: \n:t 这样一来,在org中紧邻的两行也不会合为一个段落。