2017-02-11 8 views
0

私の標準フォントは比例したフォントです。マークダウンファイルを編集すると、4つ以上のスペースでインデントされたセクションがすべてモノスペースのフォントで表示されます。コードブロックにモノスペースフォントを設定するにはどうすればいいですか?

私は特別なマークダウンモードを使用しません。したがって、現在のバッファーに対して手動でその動作を切り替えなければならない場合、私は大丈夫でしょう。しかし、私自身のモード*.md - ファイルが必要ですが、私はそれを行う方法がわかりません(そしてこの質問の範囲を超えています)。

私のためにアクティブなモードは次のとおりです。

Enabled minor modes: Abbrev Auto-Composition 
    Auto-Compression Auto-Encryption Blink-Cursor 
    Column-Highlight Column-Number Desktop-Save File-Name-Shadow 
    Flyspell Font-Lock Global-Font-Lock Icomplete Line-Number 
    Menu-Bar Mouse-Wheel Shell-Dirtrack Show-Paren 
    Tooltip Transient-Mark 

答えて

2

はい、あなたはマークダウンコードをハイライトモードが必要です。 (試してM-x package-install RET markdown-mode+ RET)あなたがフォントロッキングを有効にしている(あなたが持っていると思う)場合、おそらく終わるモードは、マークダウンのための構文ハイライトを与えます。

構文の強調表示は、使用するフォントと色を変更したものに過ぎません。コードブロックの上に移動したら、コードブロック上を移動してM-x customize-faceを発行することによって、コードに使用されるフォントフェースをカスタマイズできます。私のマークダウンモードは、コードブロックがmarkdown-pre-faceの下にあります。デフォルトでカーソルの下にある顔が選択されます。

ワークフローを表示するためのスクリーンショットをいくつか用意しました。フォントファミリやファウンドリを許可するemacsを決定するのは暗い魔法です。私はそれについてもっと知るためにgoogleに任せます。 Linuxシステムでは、xfontselと呼ばれる醜い小さなヘルパーがありました。ここでは、異なるフォントファミリとファウンダリをプレビューできます。

保存せずに変更を適用することで、何も保存せずに実験することができます。物事がよく見えるときは、カスタマイズモードで「適用して保存」することができます。

screenshots of how to adjust font-face in Emacs

+0

'markdown-mode +'は "(一致しない)"を示します。しかし、 'markdown-mode'は一致します。そのモードは「十分」でしょうか?私は既にそれをインストールしたと思う(そしてそれはあまり好きではない)。 – towi

+0

@towi:私たちがモードから必要とするのは、そのフォントロックだけです。あなたがすでに持っているものは十分なものでなければなりません。あなたがそれを気に入らないと申し訳ありませんが、特別なフォントロックが発生するためには、ある種のモードがオンになっている必要があります。モードは文法部分だけを与えるように整理できるコードですが、少し進んでいます。特にモードを無効にしたいと思っているものがあれば、それについて新しい質問をしてください! – progo

0

私は部分的にあなたが後にしている何ができるの引数に反対するつもりです。あなたは後になっていることを部分的にしか行うことができず、ちょっとしたハックです。

基本的に、異なる顔に異なるフォントを設定することができます。したがって、固定幅フォントで表示するテキストが異なる顔定義を持つ場合は、フォントを比例フォントから固定幅フォントに変更できます。少なくとも、それが理論です。

残念ながら、結果はあなたが望むよりも少なくなる傾向があります。

ほとんどのモードでは、すべての可能な文字に対して面が定義されていないという問題があります。面は何かを目立たせるためにのみ使用される傾向があり、見出しや文法などの特殊な意味を持つ傾向があります。

問題はデフォルトの顔である - 使用される顔他の顔が指定されていない場合デフォルトの顔はモード特有ではありません。デフォルトのフェイスをモノスペースフォントに設定すると、そのフォントはマークダウンモードの 'プレーン'文字だけでなく、すべてのモードで使用されます。マークダウンモードのフォントが比例していれば、インデントのアラインメントが一貫していないことがわかります。あなたのバッファの内容をどのように構造化するかによって、これは問題になるかもしれません。

個人的には、以前はemacsのデフォルトフォントとしてproportionioanlフォントを使用していませんでしたが、固定幅フォントをデフォルトとして使用し、orgなどの特定の目的のために比例フォントを定義することで解決しました-modeヘッダー。

あなたはどのかもしれない仕事を試みることができるいくつかのことを、単なる値下げfiltesでフォントを設定するための

  • ファイルのローカル変数になり。私はこれを試していないが、ファイルのローカル変数を使用できるかもしれない。おそらく、マークアップテンプレートを作成して、これを新しいマークダウンフィルトに設定したいと思うでしょう。

  • 顔変数バッファをローカルにします。フェース変数をローカルバッファにし、それらを固定幅フォントに設定するmarkdown-modeフック関数を定義することができます。

をすべての面が、デフォルトの面から継承を使用した場合の顔の定義は、その理論的には、継承を使用することができますし、ファイルのローカル変数を行うか、デフォルトの顔を設定するには、ローカル変数をバッファリングし、他のすべての顔べき継承その定義であるので、バッファ内のすべてのフォントに対してこの定義を行う必要はありません。

+0

実際には、私はそれを働かせて、結果を十分に満足しています。 100%ではなく、十分にナットを締めてください(たとえば、マークダウンモードのようなコードブロックに何らかのものがある場合、mode/fontlockでそれらを検出し、コードブロック内で比例的にフォーマットします)。私はemacsの比例フォントを使っています...ああ、私は知りません... 7年...今、十分満足しています。私はemacsの魔法をやっていませんが、小さな呪文のトリックだけです。 'col-highlight-mode'と* multicursors *' mc/... 'は見た目には少し凹凸がありますが、私の脳は調整されています。 – towi

+0

それがうまく動作し、あなたのかゆみを傷つけるならば、すべてがより良い。私は比例フォントのより良い外観が好きですが、私のemacsの仕事のほとんどは、コードとシェルの相互作用です。 diredバッファやシェルの出力がアライメントやコードが奇妙に見えてしまうのは、私が主に固定幅に固執するのに十分です。幸いなことに、最近では固定幅のフォントを見ている人が増えています。 –

関連する問題