菜鸟求问org capture 到表格特定位置的问题

菜鸟请教个问题,搞了半天没成功,需求如下:

目标org文件中有一个表格,这个表格在文件最后的位置,现在我想用org capture 将新的表格行加入到

离表格最后一行以上指定行的位置

请教这个功能如何实现,谢谢

默认 template 只支持:

table-line  a new line in the first table at target location.
            Its default template is:
                "| %? |"

因此应该只能自己写 functions 找到位置了。 看漏文档了,划掉

现在我的template是这样的:

 ("ca" "add-line" table-line (file+function "d:/download/target.org" ak-org-find-table-pos)
                         "||%u||%^{描述}|||%^{类型}|                       "
		   :immediate-finish t
		   )

function的定义:

(defun ak-org-find-table-pos ()
   (interactive)
    (goto-char (point-max))
   (re-search-backward "TBLFM")
   (forward-line -8)
   )

但是capture的时候新增加的行在目标表格的最底部,而不是期望的位置,搞不懂啥问题

有一个指定位置的选项 :table-line-pos。根据文档,假设表格最后一行是第2条水平分割线,那么就是 :table-line-pos "II-8"

 :table-line-pos     Specification of the location in the table where the
                     new line should be inserted.  It should be a string like
                     \"II-3\", meaning that the new line should become the
                     third line before the second horizontal separator line.

谢谢,这个我试过了,可行的,就是我的表格太大了,有很多水平分割线,用这种方式的话会有一堆IIIIII,而且水平分割线还会增长

如果用 function 找位置可以把 table-line 换成 plain,这样应该就不会受到 table-line 原有位置的干扰了

谢谢,可以了 :grinning: