5

質問に関連:org-mode:コードブロックをネイティブにフォント化する

2012年11月1日現在の最新のorg-modeバージョンとemacsバージョンがあります(orgはorg-20121105に保存されています)。

emacs-24に付属しているsql-modeもあります。

フォント化が1つになりました:

;; fontify code in code blocks
(setq org-src-fontify-natively t)

しかし、これは私の組織のドキュメントではフォント化されていません。Java、bashなどはすべて機能します。

#+BEGIN_SRC SQL
   SELECT foo FROM bar
#+END_SRC 

foob​​ar.sqlファイルを開くと、モードインジケーターにSQL [ANSI](ソースタイプとしても試しました)と表示され、フォントロックが機能します。

ヒントを事前に感謝します。

4

2 に答える 2

8

まず、SRCブロックモードの名前では大文字と小文字が区別されます。sqlの代わりになりますSQL

#+BEGIN_SRC sql
   SELECT foo FROM bar
#+END_SRC

次に、SQLモードシームの最初のフォントロックはSQLキーワードを強調表示しません(少なくとも私には、オンまたはオフに関係なく、違いはありません)。したがって、強調表示するSQLの種類を指定する必要があります。たとえば、MySQLを使用している場合:

(add-hook 'sql-mode-hook
          (lambda ()
            (sql-highlight-mysql-keywords)))

次に、Emacsを再起動します。これで動作するはずです。

于 2012-11-15T22:40:39.743 に答える
2

ああ、待って、#+BEGIN_SRC sql小文字にしてみてください。識別子については、こちらをご覧ください。


ブロックを再解析する(構文を壊して元に戻すなど)ことにより、表示を更新してみてください。Pythonやbibtexブロックでよく起こりますが、これで修正されます。

正しいモードが見つかった場合にインラインでフォント化されない理由がわかりませんC-c '

また、フォント化はorg-modeの優れた機能の1つですが、完全には処理されないのではないかと心配しています。メーリングリストから :

フォント化エンジンはそれほど強力ではなく、簡単にだまされてしまいます。

于 2012-11-15T21:35:30.627 に答える