i将org-mode表转换为table.el表。为此,我选择了表:
| Option | Type | Value | Descr |
| -[no]h | bool | yes | Print |
| -[no]versio | bool | no | Print |
| -nice | int | 0 | Set t |
| -[no]v | bool | no | Be lo |
| -time | real | -1 | Take |
| -[no]rmvsbd | bool | yes | Removvirtual |
| sites | | | |
| -maxwarn | int | 0 | Numbe |
| procenerate | | | |
| unsta | | | |
| -[no]zero | bool | no | Set pthout |
| defau error | | | |
| -[no]renum | bool | yes | Renum |
| atomty | | | |
并按C-c ~
。org-mode
然后问我
Convert table to table.el table? (y or n)
如何编程回答y
?我读了那个辩护的文档 - 没有办法使用前缀arg。
bash中的类似功能:
echo y | script-which-asks-y-or-n
C-c ~
调用命令org-table-create-with-table.el
,该命令围绕调用org-table-convert
提供了一堆包装。如果您想在知道自己已经在组织表中的表中时使用此功能,则不需要包装器,您只需要两个(可能只有一个)命令:org-table-align
和org-table-convert
即可。
因此,如果您正在互动执行此操作,则可以调用M-x org-table-convert
,然后完成。假设表已经对齐。您可以通过从一个单元格到下一个单元格来手动执行此操作,从而触发表对齐。或者您可以使用一个小功能来完成:
(defun my-convert-tables ()
"No questions asked, just convert the table"
(interactive)
(org-table-align)
(org-table-convert))
您可以按以下方式进行编程执行此操作。您将在defadvice函数中用org-table-with-with-table.el替换函数名称test1,否则与下面的功能相同。
使用defadvice在功能之前和之后运行一些代码,我们可以将函数保存到符号y-or-n-p到全局变量,然后将其重新命名为简单返回true的函数。函数之后,我们然后恢复原始功能。
(setq save-y-or-n-p nil)
(defadvice test1 (around always-yes)
(fset 'save-y-or-n-p (symbol-function 'y-or-n-p))
(fset 'y-or-n-p (lambda (s) t))
ad-do-it
(fset 'y-or-n-p (symbol-function 'save-y-or-n-p)))
(defun test1 ()
(interactive)
(if (y-or-n-p "Happy? ")
(insert "Happy day")
(insert "Unhappy day")))