有办法限制org-mode 每一行的宽度吗,每次都写的很长

如题啦,org-mode有没有选项可以把宽度限制一个数值内啊

Magit写commit message的时候启用的auto-fill-mode可以在按下回车时自动折行,不知道这个是不是你想要的。

我用 writeroom-mode,默认的行宽度是80个字符,也可以自己定义宽度。

任选一种:

  1. 不要写那么长。
  2. 写完后用 fill-regionfill-paragraph 重排一下。
  3. 启用 display-fill-column-indicator-mode,显示参考线。
  4. 启用 whitespace-mode 并设置,给超过宽度的内容显示刺眼的背景。

如果你控制不了自己的手,还是写很长,就让编辑器帮你断行:

  1. 启用 auto-fill-mode
2 个赞

这个很不错,紫薯布丁

这个也挺好的,就是他突然给我全屏,吓我一跳。。。。。

你可以设置 writeroom-maximize-windownil,就不会全屏了。

我个人喜欢用窗口最大化,所以我设置 writeroom-fullscreen-effectMaximized

(setq writeroom-fullscreen-effect 'maximized)

可以调整的参数挺多的。 另外还有2个类似的包: darkroomolivetti

不过另外两个和 indicate-buffer-boundaries 不大搭,所以我一直用的 writeroom

1 个赞

fill-regionfill-paragraph 有个问题是如果段落中插入了图片,且图片路径如果比较长的话路径也会被重排。

编辑器强制断行的解决方案可识别页面可见内容和非可见内容吗?还是只简单只计算字符串的长度。

比如我的org文件经常链接太多,一行超级长,类似这样 [[elisp:(orgcms-load "http://localhost/org?from=home" )][首 页]] [[elisp:(orgcms-load "http://localhost/org?from=del" )][del]] [[elisp:(orgcms-load "http://localhost/org?from=test" )][test]] [[elisp:(orgcms-load "http://localhost/org?c=todo&from=dev" )][tode]] [[elisp:(orgcms-load "http://localhost/org?s=1&from=dev" )][搜 索]] [[elisp:(orgcms-load "http://localhost/org?a=new-post&from=dev" )][新建]]

实际在org-mode中 显示出来 是不超过80 个字符的,这时如果只用计算字符串实际长度的办法来断行就不行了

可以向 org-mode 报告 issue 或贡献补丁。

org-mode 是有实现自己的 fill-paragraph,但是没有对链接进行处理:(因为不包含空,所以 url 本身不会被打断)

(with-temp-buffer
  (insert "\
-------- 1 ------- 2 ------- 3 ------- 4 ------- 5 ------- 6 ------- 7 ------- 8
[[http://www.thelongestdomainnameintheworldandthensomeandthensomemoreandmore.com/][the longest domain name in the world]]")
  (org-mode)
  (let ((fill-column 60))
    (funcall fill-paragraph-function nil (cons (point-min) (point-max)))
    (buffer-substring-no-properties (point-min) (point-max))))
;; ==>
;; "-------- 1 ------- 2 ------- 3 ------- 4 ------- 5 ------- 6
;; ------- 7 ------- 8
;; [[http://www.thelongestdomainnameintheworldandthensomeandthensomemoreandmore.com/][the
;; longest domain name in the world]]"

有个模式:visual-fill-column

这个模式的应用场景是这样的: 每一个段落实为一行,在设置(fill-column)处折行,而不断行。 这样做的好处是源文件不被修改,同时有助于在不同的系统中所使用的编辑器中显示。

(setq org-startup-tuncated nil)