Neovim lua 配置:C++文件中新的 Tab 大小未应用

我正在使用 Lua 配置 Neovim 0.5。我在 init.lua 中将 Tab 大小设置为 4,它起作用了。但是在 C++ 文件中,Tab 的大小是 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

lua/plugins.lua

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

        "neovim/nvim-lspconfig";
        "Shatur/neovim-ayu";
}

lua/theme.lua

vim.g.ayu_mirage = true

vim.cmd("colo ayu")

可能是一个覆盖 C++ 文件配置的插件吗?

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

点赞
stackoverflow用户12172291
stackoverflow用户12172291

当然它不起作用

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

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

当您从 init.lua 调用上述代码时,vim 不知道要将这些设置应用于哪个缓冲区,因为您没有指定要将设置应用于哪个缓冲区。

等等...其实最重要的是:

  • expandtab
  • shiftwidth
  • tabstop

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

这是我的 init.lua 配置(它是可行的)

local set = vim.opt --设置选项
set.tabstop = 4
set.softtabstop = 4
set.shiftwidth = 4
2021-10-13 10:14:44