3

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プログラムで回答するにはどうすればよいですか? そのdefunのドキュメントを読みました-接頭辞argでそれを行う方法はありません。

bash での同様の機能:

echo y | script-which-asks-y-or-n
4

2 に答える 2

5

C-c ~commandorg-table-create-with-table.elを呼び出します。これは、呼び出しに関する一連のラッパーを提供しますorg-table-convert。既に組織モード テーブルにいることがわかっているときにこの関数を使用する場合は、ラッパーは必要ありません。2 つの (おそらく 1 つだけ) コマンドが必要です:org-table-alignorg-table-convert.

したがって、これをインタラクティブに行っている場合は、呼び出すだけでM-x org-table-convert完了です。これは、テーブルがすでに整列されていることを前提としています。これは、1 つのセルから次のセルにタブ移動することで手動で行うことができます。これにより、テーブルの配置がトリガーされます。または、小さな関数でそれを行うことができます:

(defun my-convert-tables ()
"No questions asked, just convert the table"
  (interactive)
  (org-table-align)
  (org-table-convert))
于 2012-10-27T20:41:19.663 に答える
3

これは、次のようにプログラムで行うことができます。defadvice 関数で関数名 test1 を org-table-create-with-table.el に置き換えると、それ以外の場合は以下と同じになります。

defadvice を使用して関数の前後にコードを実行すると、シンボル y-or-np にバインドされた関数をグローバル変数に保存し、単純に 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")))
于 2012-10-27T19:33:43.663 に答える