Vim,setting.el折叠已停止语法高亮显示

Vim,setting.el折叠已停止语法高亮显示,vim,emacs,file-type,Vim,Emacs,File Type,当我在Vim中打开我的init.el时,我想要对注释进行折叠。然而,我为此编写的代码破坏了语法突出显示。这不是期望的结果 以下是我在中使用的内容。vimrc: augroup filetype_el autocmd! autocmd FileType el setlocal foldmethod=marker foldmarker=;;;,;;+ augroup END au BufRead,BufNewFile *.el set filetype=el 这对我来说破

当我在Vim中打开我的
init.el
时,我想要对注释进行折叠。然而,我为此编写的代码破坏了语法突出显示。这不是期望的结果

以下是我在
中使用的内容。vimrc

augroup filetype_el
    autocmd!
    autocmd FileType el setlocal foldmethod=marker foldmarker=;;;,;;+
augroup END
au BufRead,BufNewFile *.el      set filetype=el
这对我来说破坏了语法高亮显示


解决方案: 根据Ben的解释,我意识到我应该使用
lisp
作为文件类型,而不是
el
。以下是工作代码:

augroup filetype_lisp
    autocmd!
    autocmd FileType lisp setlocal foldmethod=marker foldmarker=;;;,;;+
augroup END
现在我有了折叠和语法高亮显示


示例文件: 在
.el
文件中,我希望在从Vim打开时,以下内容具有折叠和语法突出显示

;;; 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)))

;;+
;;+
<>(我会考虑消除<代码>;
编辑:总有一天会到来。我现在可以省略
+从我的
init.el

编辑test.el文件时,Vim会自动将文件类型设置为“lisp”

您已覆盖此设置,将文件类型改为“el”

Vim没有为“el”文件类型定义任何语法突出显示或任何插件规则

您需要创建一个“el”文件类型,而不是触发“lisp”文件类型,或者完全避免文件类型,只触发文件名


或者,您可以尝试使用虚线文件类型(例如“lisp.el”),但我不确定这是否有效。据推测,Vim将尝试同时加载这两种文件类型,但这不是一种非常常见的用法。

您能澄清一下您的问题吗?您在Emacs、Vim或两者中都有问题吗?谢谢!这是一个仓促的假设,我应该将文件扩展名
el
称为文件类型。