emacs printf 형식 지정자 Font Lock(highlight) 관련...
글쓴이: primewizard / 작성시간: 화, 2010/11/09 - 11:55오후
형식 지정자 highlight가 vim에서 컬러 스킴에 따라 안 되는 경우도 있어서 emacs도 테마에 따라 그런 줄 알았는데
아래 글을 읽고
http://kldp.org/node/119190
emacs를 테스트해보니 "%d" 같은 형식 지정자가 highlight 안 되더군요.
그래서 /usr/share/vim/vim71/syntax/c.vim 있는 정규식 참고해서 만들어 봤는데
윽... emacs 정규식 때문에 머리가 띵~~! ..... --;
(정규식은 vim이 편한 듯...)
암튼 더 이상은 눈이 아파서 못 보겠습니다. ^^;
그래서 시간있으신 분은 같이 검증해서 같이 사용했으면 좋겠습니다.
.emacs
(defvar font-lock-format-specifier-face 'font-lock-format-specifier-face
"Face name to use for format specifiers.")
(defface font-lock-format-specifier-face
'((t (:foreground "OrangeRed1")))
"Font Lock mode face used to highlight format specifiers."
:group 'font-lock-faces)
(add-hook 'c-mode-common-hook
(lambda ()
(font-lock-add-keywords nil
'(("[^%]\\(%\\([[:digit:]]+\\$\\)?[-+' #0*]*\\([[:digit:]]*\\|\\*\\|\\*[[:digit:]]+\\$\\)\\(\\.\\([[:digit:]]*\\|\\*\\|\\*[[:digit:]]+\\$\\)\\)?\\([hlLjzt]\\|ll\\|hh\\)?\\([aAbdiuoxXDOUfFeEgGcCsSpn]\\|\\[\\^?.[^]]*\\]\\)\\)"
1 font-lock-format-specifier-face t)
("\\(%%\\)"
1 font-lock-format-specifier-face t)) )))test.c
#include <stdio.h>
int main()
{
printf("Characters: %c %c \n", 'a', 65);
printf("Decimals: %d %ld\n", 1977, 650000L);
printf("Preceding with blanks: %10d \n", 1977);
printf("Preceding with zeros: %010d \n", 1977);
printf("Some different radixes: %d %x %o %#x %#o \n", 100, 100, 100, 100, 100);
printf("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
printf("Width trick: %*d \n", 5, 10);
printf("%s \n", "A string");
printf("|%10d|%-10d|%010d|%10x|\n", 11, 22, 33, 44, 55);
printf("|%#10x|%16lx|%16llx|%16hhx|", 11, 22, 33, 44, 55);
printf("%lf \t[%07.03lf] \n", 3.5, 3.5);
return 0;
}Forums:


어딘가에 누군가가
어딘가에 누군가가 만들어 놓았을지도...
primewizard님. ECB 쓰시는것 같던데
http://kldp.org/node/119211
위의 문제 없나요?
ECB Directories 버퍼에서 히든 디렉토리가 대부분 나오지 않는 현상인데
저만 그런건지 궁금합니다.
잘 쓰겠습니다.
이상한 점을 발견하면 바로 보고하겠습니다. ^^
--
종이한장 * 이성으로 비관하더라도 의지로 낙관하라! (그람시)