C++ 모드에서 .h 파일을 열려면 어떤 줄을 _emacs (Windows) 파일에 추가해야합니까? 기본값은 C 모드입니다.C++ 모드에서 .h 파일을 여는 방법을 emacs에 알려주시겠습니까?
답변
이 시도 :
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))
당신이 파일을 .H 열 때마다, C를 ++ - 모드가 사용됩니다.
나는이 질문이 적절하게 이미 응답 된 것을 맹세 할 수 있 었는가? 기묘한. 이 모든 .H 파일에 적용하지 않으려면
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))
작성자가 삭제했습니다. –
, 당신은 당신의 C++ 헤더 파일의 맨 아래에 다음을 추가 할 수 있습니다
당신이 원하는.// Local Variables:
// mode: c++
// End:
이것은 파일 단위로 설정하려는 이맥스 변수에서 작동합니다. Emacs는 선행 문자를 무시하므로 파일 유형에 적합한 주석 문자를 사용하십시오. 나는 둘 다 C 및 C++ 정기적를 사용하기 때문에
감사합니다. 이맥스로이 작업을 수행 할 수 있다는 것을 깨닫지 못했습니다. – kujawk
그 파일이 계속 작동하는지 몰랐습니다. 이것은 매우 유용 할 수 있습니다. 고마워 :) –
, 나는 시도하고 .H 파일이 C 될 운명 또는 여부를 "추측"이 기능을 쓴 C++
;; function decides whether .h file is C or C++ header, sets C++ by
;; default because there's more chance of there being a .h without a
;; .cc than a .h without a .c (ie. for C++ template files)
(defun c-c++-header()
"sets either c-mode or c++-mode, whichever is appropriate for
header"
(interactive)
(let ((c-file (concat (substring (buffer-file-name) 0 -1) "c")))
(if (file-exists-p c-file)
(c-mode)
(c++-mode))))
(add-to-list 'auto-mode-alist '("\\.h\\'" . c-c++-header))
그리고 내가 작동하지 않는 경우
헤더가 C 또는 C++이지만 나를 위해 작동하는지 C와 C 사이를 전환하는 키를 설정 ++ 모드;; and if that doesn't work, a function to toggle between c-mode and
;; c++-mode
(defun c-c++-toggle()
"toggles between c-mode and c++-mode"
(interactive)
(cond ((string= major-mode "c-mode")
(c++-mode))
((string= major-mode "c++-mode")
(c-mode))))
그것은 완벽 하진는 결정을위한 더 나은 발견이있을 수 있습니다.
더 나은 솔루션을 파일에 모드를 인코딩 할 수 있습니다 (내 대답을 참조), 다음 파일에 적절한 줄을 추가하기위한 키를 정의하십시오. 유일한 단점은 이맥을 사용하지 않는 사람들도 이것을 볼 수 있지만 그 파일의 맨 아래에서 이슈가되지 않아야한다는 것입니다. – KeithB
자신의 프로젝트에서는 괜찮 았지만 내 솔루션은 주로 다른 사람들의 프로젝트를 다루기위한 것입니다. 제 3 자 프로젝트에서 헤더의 끝 부분에 로컬 변수를'cat '시킬 수는 있지만 이것은 너무 많은 노력을 필요로합니다. – Borbus
저는이 솔루션이 정말 마음에 들었습니다. 소스 파일을 수정하지 않고도 동작을 쉽게 사용자 정의 할 수 있습니다. 예를 들어, 제 버전에서는 .h 파일이 C++인지 여부를 결정하기 위해'(string-match "llvm"(buffer-file-name))'과 같은 것을 사용합니다 (llvm은 C++ 프로젝트입니다). – zdav
c 모드와 C++ 모드를 적절하게 사용하는 또 다른 방법은 directory local variables을 사용하여 모드를 설정하는 것입니다.
((c-mode . ((mode . c++))))
그리고 이맥스 c++-mode
때마다 그것을로 전환됩니다 : 모드가 1 설정 한 후 C++ 프로젝트가이를 포함 해 실제로 .dir-locals.el
파일을 쓸 수 있도록
디렉토리 변수, 평가 처음에는 c-mode
으로 설정했습니다.
C 및 C++ 프로젝트를 함께 사용하는 경우 이는 프로젝트별로 매우 간단한 솔루션입니다.
물론 프로젝트의 대부분이 C++ 인 경우 C++ - 모드를 기본값 인 으로 설정하면이 방법을 역으로 사용하여 적절한 경우 C 모드로 전환 할 수 있습니다.
1normal-mode
전화 (set-auto-mode)
그 순서 (hack-local-variables)
., How can I access directory-local variables in my major mode hooks?
2은 이렇게하려면 기본적으로 C++ 모드에서 .h
파일을 열려면 .emacs
파일에
(add-to-list 'auto-mode-alist '("\\.h\\'" . c++-mode))
을 추가 참조하십시오.
이것은 가장 유용한 답변입니다. 또한,'mode'는 파일 - 로컬 변수리스트의 특별한 형태이며, 문서화되어 있습니다. [here] (http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables) .html). – scry
각주 (2)를 추가 했으므로 응답이 자급 자족하며 다른 사람들에게 의존하지 않습니다. 이제, 그것은 받아 들여진 대답이어야합니다. 고마워. – YSC
이 솔루션을 사용하면 .glsl 파일에도 C++ 모드가 사용됩니다. 대신에 glsl-mode를 강제로 사용할 수있는 방법이 있습니까? – jco
분명히 당신은 또한 파일의 상단에이를 넣을 수 있습니다 :
// -*-c++-*-
그것은 C++ 파일의 이맥스 말할 수 있습니다.
꽤 자주 바닐라 이맥스로 끝나기 때문에 이것을 사용합니다. 어떤 식 으로든 이맥스를 구성하지 않아도 작동합니다.
또는 ': // - * - mode : C++ - * -'. '- * - coding : utf-8;과 같은 다른 변수를 추가 할 수도 있습니다. 모드 : 파이썬; 탭 너비 : 4; - * -' – donkopotamus
- 1. 한 사용자가 수정 한 모든 파일을 알려주시겠습니까?
- 2. Eclipse에서 .h 파일을 C++로 처리하도록 하시겠습니까?
- 3. 편집 모드에서 행을 gridview에서 여는 방법
- 4. Visual Studio 2005에서 헤더 파일 (.h)을 여는 방법
- 5. .a 파일을 여는 방법
- 6. iframe에서 파일을 여는 방법
- 7. 4d 데이터베이스를 여는 방법을 가르쳐주세요.
- 8. Heroku help 권한이 파일을 여는 방법을 거부 했습니까?
- 9. CPP | .h 파일 (C++)
- 10. 같은 폴더에없는 텍스트 파일을 여는 방법은 무엇입니까?
- 11. C 파일을 여는 중 fopen() 프로그래밍
- 12. C#에서 큰 텍스트 파일을 여는 방법
- 13. json 피드에서 엄지 요소의 속성을 가져 오는 방법을 알려주시겠습니까?
- 14. QR 코드 및 1D 바코드를 스캔하는 방법을 알려주시겠습니까?
- 15. 슬라이드 쇼 모드에서 ppt를 여는 방법
- 16. AucTeX/emacs에 '$'문자가있는 문제
- 17. 이클립스에서 tar.gz 파일을 여는 방법
- 18. "파일 : // D : /help.html#selclass"여는 방법을 기본 브라우저를 C#으로
- 19. Emacs를 왼쪽 창에서 .c 파일을 여는 방법 .h를 오른쪽에서 여는 방법.
- 20. .hprof 파일을 여는 방법
- 21. .apk 파일을 여는 방법
- 22. aspx.cs 파일을 여는 방법은 무엇입니까?
- 23. VIM : 구문 강조없이 여는 .c 파일
- 24. C++ : 비 독점 모드에서 파일 열기
- 25. logback.xml에 전체 템플릿을 알려주시겠습니까?
- 26. 디자인 모드에서 Visual Studio 2010 여는 XSD 중지
- 27. Cant가 AppData/LocalLow 디렉토리를 여는 방법을 찾는다.
- 28. "디자인에있는 모든 모듈에 .h 파일을 씁니다."
- 29. 파일을 여는 스레드에서 오류가 발생했습니다.
- 30. Visual Studio 10에서 동일한 인스턴스로 .mk 파일을 여는 방법은 무엇입니까?
효과가있었습니다. 고마워. – kujawk