我有一些配置使用 vim-script 的插件,如何配置使用 vim-script 和 lua for neovim 的插件。
例如 gruvbox 使用 vim-script 我在文档中查找 lua 配置,但我没有找到任何东西,我必须使用 vim-script 来配置它。
在 lua 中编写 nvim 内容时,Neovim 会自动将
vim
对象注入到您的代码中。
它允许在 lua 中获取和设置 vim、插件和变量相关选项。
gruvbox 主题需要在全局范围内设置变量。您可以使用
vim.g
字段访问全局范围。
比如设置
g:gruvbox_bold
为1,也就是lua中的true
,需要写成
vim.g.gruvbox_bold = true
在您的
init.lua
文件中。
我建议你看看这篇文章。 https://www.notonlycode.org/neovim-lua-config/。 它很短,教授在 Neovim 中使用 lua 的基础知识。
也许你想参考这个插件的配置(markdown-org:https://github.com/Kurama622/markdown-org);它是用 vimscript 编写的,支持 vimscript 和 Lua 进行配置。
let g:default_quick_keys = 0
let g:org#style#border = 2
let g:org#style#bordercolor = 'keyword'
let g:org#style#color = 'Identifier'
let g:language_path = {
\ "python":"python",
\ "python3":"python3",
\ "go": "go",
\ "c": "gcc",
\ "cpp": "g++",
\ "c++": "g++",
\ "javascript": "node",
\ }
nnoremap <silent> <M-b> :call org#main#runCodeBlock()<CR>
nnoremap <silent> <M-l> :call org#main#runLanguage()<CR>
{
"Kurama622/markdown-org",
ft = "markdown",
config = function()
return {
default_quick_keys = 0,
vim.api.nvim_set_var("org#style#border", 2),
vim.api.nvim_set_var("org#style#bordercolor", "FloatBorder"),
vim.api.nvim_set_var("org#style#color", "String"),
language_path = {
python = "python",
python3 = "python3",
go = "go",
c = "gcc",
cpp = "g++",
},
}
end,
keys = {
{ "<leader>mr", "<cmd>call org#main#runCodeBlock()<cr>" },
{ "<leader>ml", "<cmd>call org#main#runLanguage()<cr>" },
},
},