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 버퍼에서 히든 디렉토리가 대부분 나오지 않는 현상인데
저만 그런건지 궁금합니다.
잘 쓰겠습니다.
이상한 점을 발견하면 바로 보고하겠습니다. ^^
--
종이한장 * 이성으로 비관하더라도 의지로 낙관하라! (그람시)