2014-07-05 6 views
0

Vim에서 init.el을 열면 주석을 접으려고합니다. 그러나이 코드는 구문 강조를 깨뜨렸습니다. 이것은 원하는 결과가 아닙니다. 여기Vim, .el 접기가 구문 강조 표시를 살짝 벗어났습니다

내가 내 .vimrc에 사용되는 것입니다 :

augroup filetype_el 
    autocmd! 
    autocmd FileType el setlocal foldmethod=marker foldmarker=;;;,;;+ 
augroup END 
au BufRead,BufNewFile *.el  set filetype=el 

이 나를 위해 구문 강조를 나누기.


해결책 : 벤의 설명과

, 나는 파일 형식으로 lisp, 그리고 el 사용해야 실현.

augroup filetype_lisp 
    autocmd! 
    autocmd FileType lisp setlocal foldmethod=marker foldmarker=;;;,;;+ 
augroup END 

는 지금은 구문 강조를 접는 한 다음은 작업 코드입니다.


샘플 파일하십시오 .el 파일에서

, 내가 원하는 빔에서 열 때 폴딩 및 구문 강조 기능을 가지고 다음과 같습니다.

;;; config folding 
;;;; outline & outshine 

;; when a .el file is opened, use outline-minor-mode 
(add-hook 'emacs-lisp-mode-hook 'outline-minor-mode) 

;; gives my init.el nice folding and keybinding defaults 
(when (locate-library "outshine") 
    (autoload 'outshine-hook-function "outshine") 
    (add-hook 'emacs-lisp-mode-hook 'outshine-hook-function)) 
(setq outshine-startup-folded-p t) 

;;+ 
;;;; vimrc mode, hideshow 

;; because we sometimes view our .vim and .vimrc files from emacs 
(when (locate-library "vimrc-mode") 
    (add-to-list 'auto-mode-alist '(".vim\\(rc\\)?$" . vimrc-mode)) 
    (add-to-list 'hs-special-modes-alist '(vimrc-mode "{{{" "}}}" nil nil)) 
    (add-hook 'vimrc-mode-hook '(lambda() 
           (hs-minor-mode) 
           (hs-hide-all))) 
    (autoload 'hs-minor-mode "hideshow" nil t) 
    (eval-after-load 'hideshow 
    '(define-key hs-minor-mode-map (kbd "TAB") 'hs-toggle-hiding))) 

;;+ 
;;+ 

(나는 ;;+의 제거 방법, 언젠가을 고려할 것입니다.) 편집

: 언젠가Vim, foldexpr, like folding in outshine.el effect on init.el - Stack Overflow이왔다. 이제 내 init.el에서 ;;+을 생략 할 수 있습니다.

+0

귀하의 질문이 무엇인지 명확하게 설명해 주시겠습니까? Emacs, Vim 또는 둘 다에서 문제가 발생 했습니까? – Dan

답변

1

test.el 파일을 편집 할 때 Vim은 자동으로 파일 유형을 "lisp"로 설정합니다.

대신 파일 형식을 "el"로 설정하여이 설정을 덮어 썼습니다.

Vim은 구문 강조 또는 실제로 "el"파일 유형에 대한 모든 플러그인 규칙을 정의하지 않습니다.

"el"파일 유형을 생성하거나, 대신 "lisp"파일 유형을 트리거하거나, 파일 유형을 완전히 피하고 파일 이름을 트리거 할 필요가 있습니다.

또는 점으로 구분 된 파일 유형 (예 : "lisp.el")을 사용하여 TRY를 수행 할 수 있지만 제대로 작동하는지 잘 모르겠습니다. 아마도 Vim은 두 파일 유형을 함께로드하려고 시도하지만 매우 일반적인 용도는 아닙니다.

+0

고마워요! 필자가 파일 확장자'el'을 파일 유형으로 언급해야한다는 것은 성급한 가정이었습니다. –

관련 문제