你如何在 Lua 中为 vim 设置编写'plus equals'?



如何将set mouse+=a转换为等效的Lua Neovim设置?

vim.opt.mouse返回一个鼠标选项对象。

您可以使用Option:append(value)将字符串值附加到这样的选项。

-- These are equivalent
vim.opt.mouse:append('a')
vim.opt.mouse = vim.opt.mouse + 'a'

了解:h vim.opt:append()

还有一个vim.o.mouse,它以字符串的形式返回选项。您还可以使用..向它附加一个字符串值。

vim.o.mouse = vim.o.mouse .. 'a'

来自neovim文档:https://neovim.io/doc/user/lua.html#lua-vim-options

要复制|:set+=|的行为,使用:

-- vim.opt supports appending options via the "+" operator
vim.opt.wildignore = vim.opt.wildignore + { "*.pyc", "node_modules" }
-- or using the `:append(...)` method
vim.opt.wildignore:append { "*.pyc", "node_modules" }

要复制|:set^=|的行为,使用:

-- vim.opt supports prepending options via the "^" operator
vim.opt.wildignore = vim.opt.wildignore ^ { "new_first_value" }
-- or using the `:prepend(...)` method
vim.opt.wildignore:prepend { "new_first_value" }

要复制|:set-=|的行为,使用:

-- vim.opt supports removing options via the "-" operator
vim.opt.wildignore = vim.opt.wildignore - { "node_modules" }
-- or using the `:remove(...)` method
vim.opt.wildignore:remove { "node_modules" }

在Lua中,没有+=操作符。相当于

set mouse += a

Lua中的是:

mouse = mouse + a

最新更新