タグ付けされた質問 「org-babel」

複数言語のソースコードを処理するOrgモードの機能。Orgモードのドキュメント内からソースコードを実行できるため、文芸的プログラミングドキュメントの作成や再現可能な研究の管理に便利です。[tag:org-babel]は[tag:orgmode]に「ソースコードの操作」として組み込まれ、個別の拡張機能ではなくなりました。

2
コードブロックからヘッダーを含むテーブルを生成する
コードブロックからのヘッダーを持つテーブルを生成したいと思います。このようなもの: #+BEGIN_SRC emacs-lisp :results value table :table-header | First | Second | (identity '((a b) (c d))) #+END_SRC #+RESULTS: | First | Second | |-------+--------| | a | b | | c | d | 残念ながらこんなもの:table-header | First | Second |は存在しません。というか、何か見落としていることを願っています。(ここでは(identity ...)、実際に値を計算するコードのプレースホルダーとして使用しています。) この回避策は私にはまったくうまくいきません: #+BEGIN_SRC emacs-lisp :results value table (cons (list …

1
後で他のコードブロックによって使用される組織テーブルを生成するコードブロック
後で他のコードブロックによって使用される組織テーブルを生成するコードブロックで少し問題があります。例えば: #+NAME: upper_air #+BEGIN_SRC clojure :results output raw (clojure.pprint/print-table table) #+END_SRC 生成されます #+RESULTS: upper_air | :m | :degree | :meter/second | :degC | :millibar | |---------+---------+---------------+------------+-----------| | 1545.0 | 175.0 | 12.36 | 15.400001 | 850.0 | | 3162.0 | 265.0 | 6.69 | 4.8 | 700.0 | でも本当に欲しいのは #+TBLNAME: …

2
Library Of Babelの構成、例、使用例
org-babelのLibrary Of Babelがどのように機能するかを理解したいと思います。強力で未使用のツールのようです。 ドキュメントには私ができると書かれています 最初にOrgファイルの通常の「src」コードブロックにコードを保存し、次にCc Cv iにバインドされているorg-babel-lob-ingestを使用してOrgファイルをロードすることにより、ライブラリにコードを追加します。 それはorg-babel-lob-ingest本当に何をしているのですか?Orgファイル内のすべてのソースブロックを別のファイルに追加するだけですか? そして、これのユースケースは何ですか?ライブラリにあるものをインタラクティブに確認できますか?ライブラリ内のソースブロックでnoweb構文を使用できますか?使い始めるには何が必要ですか? 例やチュートリアルへのリンクは大歓迎です。

2
別のバッファへのorg-babelの結果
私はorg-babelを使用して、自動的に処理できないレポートをいくつか生成しています。orgは優れたアウトライン形式なので、結果をorgに出力して、ツリーとして表現します。 orgマークアップを#+begin_exampleブロックにネストすると、emacsが非常に遅くなることに気づきました(結果のフォーマットもオフになっています)。 エラーを処理するのと同じ方法で、特定のコードブロックの出力をバベルに別のバッファーに配置(そしてウィンドウも開く)させるのは本当に素晴らしいことです。 ドキュメントを確認しましたが、そのようなオプションはないようです。 私が間違っている?そうでない場合、おそらく誰かがそのようなスニペットを持っていますか? また、速度が遅いのは私の構成の他のいくつかのオプションが原因である可能性がありますexample。たぶん私はここで間違った木の下で吠えています。 ありがとう

1
特定のディレクトリの組織ファイルを自動的にもつれさせる
Emacsの設定を書き換えることをとても楽しんだので、ドットファイルをorg-babelファイルに変換していinit.orgます。保存するたびに自動的にもつれる機能があります。しかし、私は.orgファイルを~/.dotfiles自動的に同じようにするなど、ファイルを作成することに成功していません。私は現在この機能を持っています: (defun my/tangle-dotfiles () "If the current file is in '~/.dotfiles', the code blocks are tangled" (when (equal (buffer-file-name) (expand-file-name "~/.dotfiles/tmux.org")) (org-babel-tangle) (message "Dotfile tangled"))) (add-hook 'after-save-hook #'my/tangle-dotfiles) ただし、これは私が指定した特定のファイルに対してのみ機能し、どのorgファイルに対しても機能しません。を使用*.orgしても機能しません。また、バッファとディレクトリの両方からディレクトリ名を抽出して、そのようにする方法もわかりませんでした。 Freenodeの#emacsについても質問しましたが、誰もそこに答えてくれませんでした。どこから始めればよいかについてのヘルプやアドバイスをいただければ幸いです。

1
ES6-7でorg-babelソースブロックを機能させる方法は?
私はorg-babelにこのコードブロックを評価させるのに苦労しています emacs v24.5 ノードv5.0.0 バベルノードv.6.6.5 #+ BEGIN_SRC js:cmd "babel-node" let arr = [1、2]; let [x、y] = arr; console.log(x); console.log(y); #+ END_SRC 出力は次のようになります / tmp / babel-3700Vaq / js-script-37003RN:2 let arr = [1、2]; ^^^ SyntaxError:ブロックスコープ宣言(let、const、function、class)は、strictモード以外ではまだサポートされていません exports.runInThisContext(vm.js:53:16)で Module._compile(module.js:404:25)で ローダー(/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:126:5) at Object.require.extensions。(無名関数)[.jsとして](/usr/local/lib/node_modules/babel-cli/node_modules/babel-register/lib/node.js:136:7) Module.load(module.js:356:32) Function.Module._load(module.js:311:12)で Function.Module.runMain(module.js:457:10)で /usr/local/lib/node_modules/babel-cli/lib/_babel-node.js:161:27 オブジェクトで。(/usr/local/lib/node_modules/babel-cli/lib/_babel-node.js:162:7) Module._compile(module.js:425:26)* しかし、このソースブロックは問題ないようです #+ BEGIN_SRC js:cmd "babel-node" …

2
org-modeでソースブロックを評価するときに、別のソースブロックを自動的にファイルにもつれさせるにはどうすればよいですか?
評価したいソースブロック(src2)は、別のソースブロック(src1)のもつれの結果となるファイルをソースする必要があります。ソースブロックを評価するたびに、もつれを自動的にファイリングさせるにはどうすればよいですか? src1:ファイルへのもつれである必要があります: +begin_src tcl :tangle /tmp/compile_lib.tcl <some tcl code> +end_src src2:評価されます。 +begin_src sh vivado -mode batch -source /tmp/compile_lib.tcl # source the file tangled from <src1> +end_src

2
org-babelセッションを強制的にリセットまたは初期化するにはどうすればよいですか?
次のバベルシェルブロックを実行すると #+BEGIN_SRC sh :session one :results output ssh staging #+END_SRC #+BEGIN_SRC sh :session one :results output hostname #+END_SRC ORGと呼ばれるシェルバッファを作成しone実行、ssh stagingおよびその後接続した後、実行hostnameステージに。ただし、sshコマンドを微調整して再度実行すると、ステージングホストからセッション1内から実行しようとします。バッファを閉じるoneと、次回そのセッション名でコマンドが実行されるときにセッションがリセットされ、再作成されます。私が見つけることができなかったのは、特定のバベルブロックに常に新しいセッションを初期化させる方法です。 一部の言語(特にelsp)では、これが不可能であることを認識しています。セッションの先頭にを含むelispブロックを付加できると思い(kill-buffer "one")ますが、可能であればこれをヘッダー引数にしたいと思います。この例では、セッションなしで2つを1つのブロックに単純に結合できることも知っていますが、もっと複雑なシーケンスに興味があります。 すべての呼び出しでそのブロックに新しいシェルを初期化させる:prologueコマンドまたは他の特別な引数はあり:sessionますか?

2
org-babelおよびリモートsqlコマンド
私はorg-babelを使って文字通りプログラミングを行っていますが、とても便利だと思います。リモートホストでシェルコマンドを実行でき、postgresクライアントでローカルデータベースコマンドを実行できます。postgresユーザーとしてファイルを開くには、次のようになります。 C-x C-f /sshx:user@remotehost|sudo:postgres@remotehost:/tmp/testfile Emacs 24.5.1でこれを行うには、以下を追加する必要があります。 (require 'tramp) (add-to-list 'tramp-default-proxies-alist '(nil "\\`postgres\\'" "/ssh:%h:")) (add-to-list 'tramp-default-proxies-alist '((regexp-quote (system-name)) nil nil)) これまでのところ、リモートサーバーでpostgresql(または選択した場合はmysql)コマンドを実行する方法を理解できていません。データベースサーバーはネットワーク経由で直接アクセスできません。リモートホストにsshし、postgresユーザーとしてsuする必要があります。そうすれば、psqlクライアントを介してコマンドを実行できます。 どのようにこのようなコマンドを使用できますか? #+BEGIN_SRC sql :engine postgresql :ExtraParametersIfNeeded SELECT * from pg_database #+END_SRC リモートホスト上で?私は:dirスイッチを知っていますが、これまでのところシェルスクリプトにしか使用できません。 どうもありがとう!

2
org-babelは、htmlエクスポートのコード出力でコードを置き換えることができますか?
ノートのWebページを生成するためにorg-modeを使用しています。追加のHTMLなどを生成するコードを埋め込むことはできますか?org-babelは結果を生成しますが、コードに加えて結果を表示するようです。コード自体を置き換えるHTMLを作成するコードが欲しいです。

2
読み書き可能なOrg-mode構成ファイルをバッキングEmacs Lispファイルでインストルメントすることは可能ですか?
Orgモードでは、文芸的プログラミングスタイルを使用してEmacs構成ファイルを作成するのが一般的です。 あいにく、読みやすさは向上しますが、これにはプログラミング上の重大な欠点があります。特に、バッキング.elファイルがないため、Emacsは現在のソースブロック内のコードのみを認識します。これは、現在編集されているブロックを除いて、ナビゲーション、シンボル定義、およびフライチェックはすべて使用できないことを意味します。 #+BEGIN_SRC emacs-lisp (defun literate-but-invisible () (interactive) (message "I close my eyes...")) #+END_SRC #+BEGIN_SRC emacs-lisp (defun humans-can-read-but-emacs-cannot () (interactive) (literate-but-invisible) ; No navigation! Flycheck reports undefined symbol! (message "...so that the room will be empty")) #+END_SRC Emacsに生成された.elファイルをもつれさせて使用し、これらの機能を組織モードで提供する方法はありますか?そのような機能は、文芸的なEmacs Lispコードの保守性を改善します。 FlycheckがOrgとEmacs Lispで同時に1つのバッファーで動作するのを見るのは素晴らしい機能ですが、私はorg-editバッファーorg-edit-special(通常(C-c ')を呼び出したときに取得する環境)を計測する方法についてのみ質問していることに注意してください。バッファにはアクティブモードが1つしかないため、これは簡単です。 Flycheckリポジトリの機能リクエストをこちらで開きました。別の問題について、関連する調査がここにあります。ただし、まだソリューションを構築することはできません。

1
cURLコマンドをob-httpに変換する
ob-httporgファイルのコードブロックに変換したいcurlコマンドのシリーズ全体があります(2番目の選択肢はで行うことですrestclient)。 次に、簡略化されたサンプルコマンドを示します。 curl -X POST --proxy http://my-proxy.local:9001 \ --data "foo=bar" \ --data "fizz=buzz" \ --header "Content-Type:application/x-www-form-urlencoded" \ --header "my-custom-header" \ http://my-server.local/my/endpoint (この呼び出しによって返された結果のjsonは、次の呼び出しで使用されます) 上記をob-httpコードブロック(または、サポートできないrestclient場合ob-httpはテキストファイル)に変換する方法 私はこの古い質問を見つけましたが、それは私のユースケースを完全にカバーしておらず、上記の変換を実行する方法をリンクされたドキュメントで見ていませんでした: EmacsでREST APIをテストする方法?

1
組織モードのコードブロックは、囲んでいるノードから変数プロパティを継承しません
組織モードの識字側面を再生するとき私は、記述を見つけたここにあなたが設定できるかのvarノードのプロパティを、変数バインディングとしてどのようにこれは、その後囲まれたコードブロックによって継承されます。だからあなたは次のようなことをすることができます: * Some node :PROPERTIES: :var: x=123 ... :END: そして、これは次のようなものと同等です: #+BEGIN_SRC emacs-lisp :var x=123 ... #+END_SRC 残念ながら、これは私のOrgモードでは当てはまらないようですeval: Symbol’s value as variable is void: x。コードブロックを実行しようとしたときに取得しているからです。ElpaのOrg-modeバージョンを使用しています9.0.7。variableを調べてみましorg-use-property-inheritanceたが、これを機能させることができませんでした。ヒントやアイデアは大歓迎です。

1
ワンライナー組織ソースのもつれ
時々、特にメモを取る場合、文芸的なorgファイルには、次のように1行のソースブロックを含めることができます。 * Taking notes :PROPERTIES: :tangle: whatever.pl :comments: org :END: Perl set command #+BEGIN_SRC perl set $random_var=1; #+END_SRC Perl unset command (just making it up... :P) #+BEGIN_SRC perl unset $random_var; #+END_SRC このようなアプリケーションの場合、#+BEGIN_SRC...#+END_SRCプラグマは過剰に見えます。簡単なテンプレートは入力を減らしますが、組織のドキュメントはまだ少しあふれています。 これを行う簡単な方法はありますか?aで始まる行:が自動的に逐語的テキストになることを知っています。org-tangleで同様のことを行う方法はありますか? 親モードのソースの強調表示機能と複雑な機能を維持しながら、次のようなソリューション、または少なくともこれらの行に近いソリューションを探しています。 * Taking notes :PROPERTIES: :tangle: whatever.pl :comments: org :mode: perl :END: Perl set command : set …

1
org-src-preserve-indentationを特定のコードブロック(またはバッファー、または実際にはグローバルコンテキストを超えるもの)でのみ使用する
私はorg-babelドキュメントをグーグルで調べていましたが、それほど多くはありません。 問題は、私が取り組んでいることの1つは、org-babelを使用してMakefileソースをもつれさせることです。その中で、ドキュメンテーションは(setq org-src-preserve-indentation t)私が今持っているを評価する必要があると述べており、なぜそうするのか理解しています。 ことは、私はこの値をグローバルに有効にしたくないです。私はそれは、Python、Makefileの、または空白小文字が区別され、他の言語のために理にかなっていることを理解することができますが、私は本当にそれが他の場所で有効になってほしくありません。さらに、これの最終結果は、デフォルトで値を有効にしていない人には最終的なorg-fileが機能しないため、結果として得られるorg-fileは移植性が低くなります。 コードブロックごとに有効にするだけでもいいのでorg-src-preserve-indentation(追加のタイピングですが、それでも問題ありません)、バッファ固有の設定でもかまいません。問題は、どうすればよいかわからないことです。 私は疑うそれがことができ方法を利用することによって行われ#+HEADERた設定は、Lispのコードをevalすることができますが、私は、ファイル、または何かをもつれたびに、設定がすべての時間に保持されていない平均ことをことを?私はむしろそれをしたくありません、それはファイルを使用することを予測不可能にするだけです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.