尝试在加载 stylua-nvim 的按键映射时调用全局变量 'buf_set_keymap'(值为空)

我正在尝试将我的 init.vim 转换为 lua。

同时尝试使用“packer”插件管理器,并使用 stylua-nvim 插件格式化 lua 代码。

按照 packer 的说明,安装并加载了 stylua-nvim 插件,加载了 :PackerInstall 样式。 但是,出现错误:尝试调用全局变量 'buf_set_keymap'(值为空)

init.lua:

vim.cmd([[
source ~/.config/nvim/local_customizations.vim
source ~/.config/nvim/plugins.vim
]])
require('plugins')
HOME = os.getenv("HOME")

<snip>

local opts = { noremap=true, silent=true }
buf_set_keymap("n", "<leader>f", "<cmd>lua require('stylua-nvim').format_file()<CR>", opts)

还尝试了:

buf_set_keymap("n", "<leader>f", "require('stylua-nvim').format_file()<CR>", opts)

但收到同样的错误。stylua-nvim 的原始说明提供了按键映射的配置:

buf_set_keymap("n", "<leader>f", "<cmd>lua require("stylua-nvim").format_file()<CR>', opts)

但我认为这看起来是错误的,因为引号不匹配并引发错误:

Error while creating lua chunk: /Users/stevedondley/.config/nvim/init.lua:29: ')' expected near 'stylua'

令人沮丧。

原文链接 https://stackoverflow.com/questions/71212000

点赞
stackoverflow用户1641112
stackoverflow用户1641112
`vim.api.nvim_buf_set_keymap(bufnr, "n", "<leader>f", '<cmd>lua require("stylua-nvim").format_file()<CR>', opts)` 

我不知道为什么,但它可以工作。

2022-02-21 19:46:36