Appearance
先安装, 编辑 ~/.config/nvim/lua/plugins.lua , 参考 packer.nvim:
lua
use "L3MON4D3/LuaSnip"编辑配置文件 ~/.config/nvim/lua/core.lua:
lua
local luasnip = require('luasnip')
luasnip.config.set_config({
history = true,
updateevents = 'TextChanged,TextChangedI'
})
require("luasnip.loaders.from_snipmate").lazy_load({paths = "~/.config/nvim/snippets"})
vim.api.nvim_set_keymap('i', '<C-j>', '<Plug>luasnip-expand-or-jump', {silent = true})
vim.api.nvim_set_keymap('s', '<C-j>', '<Plug>luasnip-expand-or-jump', {silent = true})
vim.api.nvim_set_keymap('i', '<C-k>', '<Plug>luasnip-jump-prev', {silent = true})
vim.api.nvim_set_keymap('s', '<C-k>', '<Plug>luasnip-jump-prev', {silent = true})我使用的是 snipmate 格式的代码片段, 其他还是支持 vs_code 格式的, 可以到官方仓库的文档查看.
创建~/.config/nvim/snippets 文件, 添加一个代码片段文件, 这里以 C 语言为例,
创建编辑 snipptes/c.snipptes:
txt
snippet main
#include <stdio.h>
int main(int argv, const char * argc[])
{
${1:/* Coding here */}
return 0;
}
snippet for
for (${1:int i = 0; i < ${2:N}; i++}) {
${3:// do something}
}
snippet funh
/*
* funciotn:
* @param [ in]
* @param [out]
* @return
*现在打开一个 .c 文件, 然后输入 :LuaSnipListActivate 可以看到可用的片段了.
根据我上面设置的快捷键, 在输入 main 按 Ctrl + j 可以直接插入代码片段, 再次按 Ctrl + j 可以跳转输入槽, 按 Ctrl + k 到上一个输入槽. 如果觉得不方便也可以自己设置.