Neovim lua 配置:新选项卡大小未应用于 C++ 文件中

yoa*_*ndw 7 lua neovim

我正在使用 Lua 配置 Neovim 0.5。我将选项卡大小设置为 4 in init.lua,它可以工作。但在 C++ 文件中,制表符大小为 8,我必须手动执行:set shiftwidth=4,:set tabstop=4:set expandtab。这是配置文件:

init.lua

require "plugins"
require "theme"

local g = vim.g
local wo = vim.wo
local bo = vim.bo

local TAB_WIDTH = 4
bo.tabstop = TAB_WIDTH
bo.shiftwidth = TAB_WIDTH
bo.expandtab = true

wo.cursorline = true
wo.nu = true
wo.rnu = true
Run Code Online (Sandbox Code Playgroud)

lua/plugins.lua

require "paq" {
        "savq/paq-nvim";

        "neovim/nvim-lspconfig";
        "Shatur/neovim-ayu";
}
Run Code Online (Sandbox Code Playgroud)

lua/theme.lua

vim.g.ayu_mirage = true

vim.cmd("colo ayu")
Run Code Online (Sandbox Code Playgroud)

也许是一个覆盖 C++ 文件配置的插件?

ale*_*der 21

当然它不工作

bo.tabstop = TAB_WIDTH
bo.shiftwidth = TAB_WIDTH
bo.expandtab = true
Run Code Online (Sandbox Code Playgroud)

bo是一个缓冲区特定的 vim 变量。

当您从 init.lua vim 调用上述代码时doesnt know将这些设置应用到哪个缓冲区时,因为您没有提及您希望将设置应用到哪个缓冲区。

等等......第二(这是最重要的)

  • 展开选项卡
  • 移位宽度
  • 制表位

不是缓冲区或窗口选项,它们来自vim.opt

这是我的 init.lua 配置(及其工作)

local set = vim.opt -- set options
set.tabstop = 4
set.softtabstop = 4
set.shiftwidth = 4
Run Code Online (Sandbox Code Playgroud)