org-src-preserve-indentationを特定のコードブロック(またはバッファー、または実際にはグローバルコンテキストを超えるもの)でのみ使用する


7

私は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することができますが、私は、ファイル、または何かをもつれたびに、設定がすべての時間に保持されていない平均ことをことを?私はむしろそれをしたくありません、それはファイルを使用することを予測不可能にするだけです。

回答:


5

Google+のorg-modeグループから受け取ったフィードバックと、バッファーローカル変数の読み取りに基づいてM-x add-file-local-variable RET org-src-preserve-indentation RET t、最終的にこのorg-fileの最後にこのコードブロックを追加するために使用することになりました。

# Local Variables:
# org-src-preserve-indentation: t
# End:

ローカルセットアップを更新すると(つまり、ヘッダー引数でCcを押すと)、Emacsはバッファーローカル変数を使用するかどうかを尋ね、次にこのバッファーのみに設定org-src-preserve-indentationtます。

これで問題が解決したようですので、この質問をクローズします。

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