2014-11-05 2 views
3

나는 이맥스를 사용하여 코드를 작성하는 법을 배우고 있습니다 (C++). 한 쌍이거나 동일한 그룹에 속한 구문 요소를 강조 표시 할 수있는 패키지 (Emacs 24.3을 사용 중입니다)가 있다면 궁금합니다. 예를 들어 세 개의 요소 if, elseif, else을 커서가 강조 표시 될 때 동시에 강조 표시하여 어떤 세 블록의 코드가 동일한 조건문에 속하는지 명확하게 볼 수 있습니다. if 문장이 중첩되어있을 때 특히 유용하다고 생각합니다. 또 다른 시나리오는 커서가 return 키워드에있을 때 이전 단어와 동일한 기능인 지 모르겠습니다. 모든 return 키워드가 동시에 강조 표시됩니다. 그렇게하면 함수의 모든 종료 사례를 확인할 수 있습니다.Emacs가 구문 키워드 쌍을 강조 표시하게하십시오

BTW이 기능은 중괄호가없는 쉘 스크립팅이나 VB.NET과 같은 다른 언어보다 C++에서 덜 유용 할 수 있습니다. 하지만 여전히 코드를 읽는 데 도움이됩니다.

+0

반환 값이 강조 표시되도록하려면 (현재 커서가있는 단어와 마찬가지로) * [강조 표시 기호] (http://www.emacswiki.org/)에서 'highlight-symbol-mode'를 사용할 수 있습니다. emacs/HighlightSymbol). –

답변

1

저는 C++과 같은 것이 이미 있다고 생각하지 않습니다. 주 모드에서 탐색 및 들여 쓰기 (예 : 루비 모드)에 SMIE을 사용하는 언어의 경우 일치하는 시작/종료 키워드를 강조 표시하는 show-paren-mode을 사용할 수 있습니다. "if"에 있다면 else/elseif를 강조 표시하지 않습니다.

그리고 나는 함수에서 모든 "반환"을 하이라이트하는 패키지를 알지 못합니다.이 패키지는 beginning-of-defunend-of-defun을 기반으로 작성하는 것이 쉬워야합니다.

+0

답변 해 주셔서 감사합니다. 나는'return'을 강조하는 것에 대해 같은 것을 느낍니다. 나는 그것을 스스로 할 수 있다고 생각합니다. 그러나 그룹화 된 키워드의 경우 "if ... elseif ... else"또는 "switch ... case ... default"를 강조 표시 할 수있는 방법이 없습니까? 글쎄요, 아마도 '스위치'는 그다지 유용하지 않기 때문에 좋은 예가 아닙니다. 그러나'if '를 중첩 시키려면 동일한 "수준"의 키워드를 강조 표시하면 코드를 읽는 데 실제로 도움이 될 수 있습니다. – tete

+0

나는 아무런 방법이 없다는 말은 아니며, 나는 현재 그 패키지를 모르는 패키지를 모른다는 말입니다. 나는 사람들이 보통 들여 쓰기에 의존한다고 생각합니다. – Stefan

+0

네, 무슨 뜻인지 알 겠어요. 물론 들여 쓰기도 도우미입니다. 나는 그런 강조가 시각적으로 더 쉽다고 느낀다. 어쨌든 고맙습니다. – tete

관련 문제