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/슈퍼 사용자로 로그인합니다. cfm 파일에 HTML 구문 강조 표시를 추가하고 싶다면 이것을 변경하십시오.

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

이것에 (기본 html.lang)

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


감사! 이것은 ColdFusion 파일에 gedit add 구문 색상을 지정하는 데 효과적이었습니다.
Michael Martin-Smucker

2
이 답변에 몇 가지 추가 투표를 추가 할 수 있기를 바랍니다. 방금이 답변을 다시 사용하여 CSS 강조 표시를 LESS 및 SASS 파일에 제공했습니다.
Michael Martin-Smucker

1
I 복제 및 편집의 생각처럼 .lang에서 사용자 디렉토리 자신을
jozxyqk

1
@michaelms sudo nano /usr/share/gtksourceview-3.0/language-specs/css.lang을 편집하고 *를 추가하여 gedit에서 LESS 파일에 CSS 구문 강조 표시를 추가했기 때문에 게시물과 의견에 공감대를 추가했습니다. globs 속성에 대한 * .sass 이하 : <property name="globs">*.css;*.CSSL;*.less;*.sass</property>
링크 Swanson

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

하지만 게 트는 $ HOME에서 복사 된 파일을 어떻게 인식합니까? gedit에게 $ HOME의 .lang 파일을 조사해야한다고 어떻게 말합니까 ??? 미리 감사드립니다.
Srikrishnan

8

Gedit의 소스 코드를 수정하거나 기본값을 무시하기 위해 플러그인을 작성하지 않으면 불가능합니다. 기본 구문 강조 체계는 하드 코딩되어 있습니다.


올바른 방향으로 나를 가리켜 주셔서 감사합니다. 나는 gedit이 gtk + 3에 의존한다는 것을 깨닫기 전에 최신 gedit를 복제하고 파고 들기 시작했다. 이것은 내가 협상했던 것보다 훨씬 더 큰 혼란으로 변할 가능성이있다. ;-)
Michael Martin-Smucker

한 가지 더 : 어떤 값 language이 유효한지 아십니까? 나는에 대한 소스를 통해보고 gedit하고 gtksourceview내가 언어 이름처럼 보였다 것을 아무것도 찾을 수 없습니다 (하지만 내 C 실력이 꽤 존재하지 않는다.)
마이클 마틴 - Smucker에게

1
@MichaelMS 확실하지 않지만 솔루션에 대한 노력을 기울일 계획이라면 샘플 Python 플러그인에set_language 호출을 삽입하는 것이 가장 쉽다고 생각합니다 . HTML 소스 강조 표시에 적합한 값을 찾는 데 사용할 수 있습니다 . get_language
ændrük
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.