菜鸟请教个问题,搞了半天没成功,需求如下:
目标org文件中有一个表格,这个表格在文件最后的位置,现在我想用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 原有位置的干扰了
谢谢,可以了