Geditでデフォルトの構文強調表示を設定できますか?


24

geditでドキュメントを保存するまで、構文の強調表示はオフになっています。これには明らかに正当な理由があります。特定の単語がランダムに異なる色で表示されると、人々が混乱する可能性があります。しかし、私の目的のために、私はほとんどすべてHTML編集専用にgeditを使用します。

多くの場合、コードのスニペットを新しいgeditドキュメントに貼り付けてすばやく編集し、構文の色付けを手動でHTMLに設定する必要があります。また、geditが認識できないように見えるColdFusion(.cfm)ドキュメントを開く場合もありますが、色を手動でHTMLに設定する必要があります。geditに、新しいドキュメントやファイル拡張子が認識されていないドキュメントに対して自動的にHTML構文の強調表示を使用するように指示する方法を見つけることができれば、これらの不便は両方とも修正されます。これは可能ですか?


また、SciTEのように、ファイルを保存せずに異なる言語を切り替えることができるかどうかも疑問に思っていました。時間を節約できますか。
-nickguletskii

回答:


21

あなたは、HTML構文で少なくとも追加のファイルの拡張子は、編集してスキームを着色することができますhtml.lang/usr/share/gtksourceview-2.0/language-specs/スーパーユーザーとして。HTML構文の強調表示をcfmファイルに追加したい場合、これを変更します

<property name="globs">*.html;*.htm</property>

(デフォルトhtml.lang)これに

<property name="globs">*.html;*.htm;*.cfm</property>


ありがとう!これは、geditがColdFusionファイルに構文の色付けを追加するのに役立ちました。
マイケル・マーティン・スマッカー

2
この回答にいくつかの追加の投票を追加できるといいのですが。CSSをLESSおよびSASSファイルに強調表示するために、この回答を再び使用しました。
マイケル・マーティン・スマッカー

1
I複製および編集のアイデアのよう.langユーザディレクトリに自分
jozxyqk

1
@michaelms投稿とコメントに賛成票を追加しました。sudonano /usr/share/gtksourceview-3.0/language-specs/css.langを編集して*を追加することにより、geditのLESSファイルに強調表示するCSS構文も追加したためです。 lessおよびglobsプロパティへの* .sass: <property name="globs">*.css;*.CSSL;*.less;*.sass</property>
リンクスワンソン

gtksourceviewの異なるバージョンのパスを変更する必要がある場合があります。上書きされないように、ファイルをプロファイルフォルダーにコピーすることもできます。(下記を参照5chdnの答えaskubuntu.com/a/310553/37574
mwfearnley

14

$HOMEディレクトリに独自の言語定義ファイルを作成できます。gtk言語仕様の編集は、gtksourceviewの更新ごとに上書きされるため、お勧めません

言語仕様ファイルをホームディレクトリにコピーします。

$ cp /usr/share/gtksourceview-3.0/language-specs/html.lang ~/.local/share/gtksourceview-3.0/language-specs/

次に、.cfm拡張子のリストに次のようなカスタムファイル形式を追加します。

<property name="globs">*.html;*.htm;*.cfm</property>

その方法geditは、カスタムファイル形式で自動構文強調表示を使用し、gtk更新はカスタム変更を上書きしません。


1
これは、選択した回答よりも優れたオプションです。可能な場合、変更をローカルに適用します。
nightcod3r

しかし、Gedutはどのようにして$ HOMEのコピーされたファイルを認識するのでしょうか?$ HOMEの.langファイルを調べる必要があることをgeditに伝えるにはどうすればよいですか?前もって感謝します。
スリクリシュナン

8

これは、Geditのソースコードを変更するか、デフォルトをオーバーライドするプラグインを作成しない限り不可能です。デフォルトの構文強調表示スキームはハードコードされています。


私を正しい方向に向けてくれてありがとう。最新のgeditのクローンを作成し、geditがgtk + 3に依存していることに気付く前に突っ走り始めました。;-)
マイケル・マーティン・スマッカー

もう1つ:language有効な値は何か?私はソースを通じて見えたgeditgtksourceview、私は言語名のように見えた何かを見つけることができませんでした(私のCのスキルがかなり存在しないです。)
マイケル・マーティン・スマッカーは、

1
@MichaelMS確かではありませんが、ソリューションに何らかの努力を注ぐつもりならset_languageサンプルのPythonプラグインに呼び出しを埋め込むのが最も簡単だと正直に思います。おそらくget_language、HTMLソースの強調表示に適切な値を見つけるために使用できます。
アーンドリューク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.