snippets.json 自定义文件放哪个目录?

Which directory to put snippets.json file for customization?

我的 vim74.

安装了 Emmet 插件

这是手册中的一些教程。
https://docs.emmet.io/customization/snippets/

在扩展文件夹中创建 snippets.json 文件以添加或覆盖片段。

sudo find /  -name  'snippets.jsom'
nothing as output.

在我的目录中没有snippets.json,我想按照手册中的说明创建它,将它放在哪个目录中?

扩展文件夹是什么意思?
哪个目录是我的 vim 和 emmet 的扩展文件夹?

tree  -L 2  /usr/share/vim
/usr/share/vim
├── addons
│   ├── doc
│   └── plugin
├── registry
│   └── vim-runtime.yaml
├── vim74
│   ├── autoload
│   ├── bugreport.vim
│   ├── bundle
│   ├── colors
│   ├── compiler
│   ├── debian.vim
│   ├── delmenu.vim
│   ├── doc
│   ├── evim.vim
│   ├── filetype.vim
│   ├── ftoff.vim
│   ├── ftplugin
│   ├── ftplugin.vim
│   ├── ftplugof.vim
│   ├── gvimrc_example.vim
│   ├── indent
│   ├── indent.vim
│   ├── indoff.vim
│   ├── keymap
│   ├── lang
│   ├── macros
│   ├── menu.vim
│   ├── mswin.vim
│   ├── optwin.vim
│   ├── plugin
│   ├── print
│   ├── rgb.txt
│   ├── scripts.vim
│   ├── spell
│   ├── synmenu.vim
│   ├── syntax
│   ├── tutor
│   └── vimrc_example.vim
├── vimfiles -> /etc/vim
├── vimrc -> /etc/vim/vimrc
└── vimrc.tiny -> /etc/vim/vimrc.tiny

tree -L 1  /usr/share/vim/vim74/autoload
/usr/share/vim/vim74/autoload
├── adacomplete.vim
├── ada.vim
├── ccomplete.vim
├── clojurecomplete.vim
├── csscomplete.vim
├── decada.vim
├── emmet
├── emmet.vim
├── getscript.vim
├── gnat.vim
├── gzip.vim
├── htmlcomplete.vim
├── javascriptcomplete.vim
├── netrwFileHandlers.vim
├── netrw_gitignore.vim
├── netrwSettings.vim
├── netrw.vim
├── paste.vim
├── phpcomplete.vim
├── python3complete.vim
├── pythoncomplete.vim
├── README.txt
├── rubycomplete.vim
├── spellfile.vim
├── sqlcomplete.vim
├── syntaxcomplete.vim
├── tar.vim
├── tohtml.vim
├── vimball.vim
├── xml
├── xmlcomplete.vim
└── zip.vim

2 directories, 30 files
tree -l 1  /usr/share/vim/vim74/plugin
1 [error opening dir]
/usr/share/vim/vim74/plugin
├── emmet.vim
├── getscriptPlugin.vim
├── gzip.vim
├── matchparen.vim
├── netrwPlugin.vim
├── README.txt
├── rrhelper.vim
├── spellfile.vim
├── tarPlugin.vim
├── tohtml.vim
├── vimballPlugin.vim
└── zipPlugin.vim

链接页面说:

Please refer to README file bundled with your editor’s plugin to find out where Emmet looks for extensions.

当你读到这句话时,唯一合理的做法是什么?当然是阅读您的插件的 READMEREADME 表示:

If you have installed the web-api for emmet-vim you can also add your own snippets using a custom snippets.json file.

Once you have installed the web-api add this line to your .vimrc:

let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.snippets_custom.json')), "\n"))

You can change the path to your snippets_custom.json according to your preferences.

1.to 安装 pathogen.vim

mkdir -p ~/.vim/autoload ~/.vim/bundle && \
curl -LSso ~/.vim/autoload/pathogen.vim https://tpo.pe/pathogen.vim

2.to编辑snippets.json
复制 https://github.com/emmetio/emmet/blob/master/lib/snippets.json 并修改一些内容以供您定制。
我想让 html:5 展开如下。

<html lang="zh">
<head>
    <meta charset="gbk">
    <title></title>
</head>
<body>

</body>
</html>


vim  ~./vim/snippets.json
"variables": {
        "lang": "zh",
        "locale": "en-US",
        "charset": "gbk",
        "indentation": "\t",
        "newline": "\n"
    },

只列出部分代码。

3.to 编辑你的 .vimrc 以调用 snippets.json

vim .vimrc
let g:user_emmet_settings = webapi#json#decode(join(readfile(expand('~/.vim/snippets.json')), "\n"))