我有以下非常简单的elisp函数;第一个函数删除当前段落中的换行符,第二个循环遍历当前文档,依次将第一个换行符应用到每个段落,实际上删除了文档中的所有单个换行符。它在我使用emacs 22.3的低规格Puppy Linux机器上运行得很快(托马斯·阿奎那的600页需要10秒),但当我在一台装有emacs 21.3的功能强大的Windows XP机器上处理同样的文档时,几乎需要一个小时。我该怎么做才能让它在装有emacs 21.3的Windows机器上也能正常运行呢?
(defun remove-line-breaks ()
"Remove line endings in a paragraph."
(interactive)
(let ((fill-column 90002000))
(fill-paragraph nil)))(defun remove-all-line-breaks ()
"Remove all single line-breaks in a document"
(interactive)
(while (not (= (point) (buffer-end 1)))
(remove-line-breaks)
(next-line 1)))请原谅我可怜的elisp;我很享受学习Lisp并开始使用emacs的强大功能的乐趣,但我还是个新手。
发布于 2008-12-04 15:35:21
作为第一次尝试,你应该为你的Windows机器下载并安装Emacs22.3,然后比较速度。
升级后,速度差异应该不会那么大。
发布于 2008-12-04 15:42:48
也许这是您分配给fill-column的较大值(他们建议小于80)。
https://stackoverflow.com/questions/340989
复制相似问题