cmp.lua 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. local cmp = require("cmp")
  2. cmp.setup({
  3. -- 指定 snippet 引擎
  4. snippet = {
  5. expand = function(args)
  6. -- For `vsnip` users.
  7. vim.fn["vsnip#anonymous"](args.body)
  8. -- For `luasnip` users.
  9. -- require('luasnip').lsp_expand(args.body)
  10. -- For `ultisnips` users.
  11. -- vim.fn["UltiSnips#Anon"](args.body)
  12. -- For `snippy` users.
  13. -- require'snippy'.expand_snippet(args.body)
  14. end,
  15. },
  16. -- 补全源
  17. sources = cmp.config.sources({
  18. { name = "nvim_lsp" },
  19. -- For vsnip users.
  20. { name = "vsnip" },
  21. -- For luasnip users.
  22. -- { name = 'luasnip' },
  23. --For ultisnips users.
  24. -- { name = 'ultisnips' },
  25. -- -- For snippy users.
  26. -- { name = 'snippy' },
  27. }, { { name = "buffer" }, { name = "path" } }),
  28. -- 快捷键设置
  29. mapping = require("keybindings").cmp(cmp),
  30. })
  31. -- / 查找模式使用 buffer 源
  32. cmp.setup.cmdline("/", {
  33. mapping = cmp.mapping.preset.cmdline(),
  34. sources = {
  35. { name = "buffer" },
  36. },
  37. })
  38. -- : 命令行模式中使用 path 和 cmdline 源.
  39. cmp.setup.cmdline(":", {
  40. mapping = cmp.mapping.preset.cmdline(),
  41. sources = cmp.config.sources({
  42. { name = "path" },
  43. }, {
  44. { name = "cmdline" },
  45. }),
  46. })