Vim:文件类型插件设置注释和注释字符串的本地选项不会出现在缓冲区中

问题描述 投票:0回答:1

我在 Windows 10 上使用 Vim 9.0。

我创建了一个名为“项目”的新文件类型,但设置注释的本地选项不起作用。这是我所做的:

  1. 我将行

    :filetype plugin indent on
    添加到我的 vimrc 文件中。

  2. :filetype
    命令返回:
    filetype detection:ON plugin:ON indent:ON

  3. 然后,我在

    project.vim
    (
    ftdetect
    ) 的第一项中名为
    runtimepath
    的新目录中创建了一个名为
    ~/vimfiles
    的文件类型文件。

  4. project.vim
    文件中,我添加了自动命令行以启用文件类型检测:

    au BufNewFile,BufRead *project   setf project
    
  5. 然后,我在

    project.vim
    (~/vimfiles) 第一项中名为
    ftplugin
    的新目录中创建了一个名为
    runtimepath
    的文件类型插件文件。在该文件中,我添加了以下 setlocal 选项以供注释:

    setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
    
  6. 由于目录

    ftdetect
    ftplugin
    都没有出现在
    :set runtimepath?
    的输出中,我将这一行添加到我的vimrc中:

    set rtp+=~/vimfiles/ftdetect,~/vimfiles/ftplugin
    
  7. 执行此操作后,

    :set runtimepath?
    的输出包括那些先前丢失的目录作为最后列出的项目:

    runtimepath=
     ~/vimfiles,
     ~\vimfiles\pack\plugins\start\VOoM,
     ~\vimfiles\pack\plugins\start\vimroom,
     ~\vimfiles\pack\plugins\start\vim-shell-master,
     ~\vimfiles\pack\plugins\start\vim-obsession-master,
     ~\vimfiles\pack\plugins\start\vim-misc-master,
     ~\vimfiles\pack\plugins\start\vim-addon-mw-utils,
     ~\vimfiles\pack\plugins\start\utl,
     ~\vimfiles\pack\plugins\start\tlib_vim,
     ~\vimfiles\pack\plugins\start\taskpaper.vim-master,
     ~\vimfiles\pack\plugins\start\tabular,
     ~\vimfiles\pack\plugins\start\supertab,
     ~\vimfiles\pack\plugins\start\limelight,
     ~\vimfiles\pack\plugins\start\goyo,
     ~\vimfiles\pack\plugins\start\ctrlpcache,
     ~\vimfiles\pack\plugins\start\ctrlp,
     C:\Program Files (x86)\Vim/vimfiles,
     C:\Program Files (x86)\Vim\vim90,
     ~\vimfiles\pack\plugins\start\tabular\after,
     C:\Program Files (x86)\Vim/vimfiles/after,
     ~/vimfiles/after,
     ~/vimfiles/ftdetect,
     ~/vimfiles/ftplugin
    
  8. 然后,我创建了一个带有

    project
    文件类型扩展名的测试文件并输入了一些文本,但没有按照 setlocal 选项对其进行注释(即:以
    #
    开头的行中的文本应为斜体)。

  9. 我在测试文件上运行了命令

    :set ft?
    ,返回了
    filetype=project
    。当我将文件类型更改为
    set ft=conf
    时,注释会按预期显示。 “conf”的文件类型文件具有相同的
    setlocal
    注释选项。

  10. 我向

    setlocal
    添加了状态行的
    ~/vimfiles/ftplugin/project.vim
    选项。相应的状态行出现在测试文件中。运行
    :set ft?
    命令指示返回
    filetype=project
    和之前一样。

  11. 我现在有点困难,欢迎任何帮助。

vim runtime ftplugin
1个回答
1
投票

(6)和(7)是不需要且无用的。只有“vimfiles”必须位于运行时路径中。 “ftDetect”和“ftplugin”始终是相对于它而言的。

(8) 语法与您设置的选项没有任何关系。相反,您必须创建正则表达式并启用语法支持。如何做到这一点本身就是一个主题,因此建议您从

:h syntax
等开始长篇阅读。

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.