You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Nvim及Kickstart.nvim中默认启用--std=c++20编译C++代码

配置Kickstart.nvim让C编译默认使用C20标准

方法1:修改clangd LSP默认参数

Kickstart.nvim默认用clangd作为C++语言服务,你可以在init.lua中找到clangd的配置段,添加--std=c++20到启动参数里:

找到原配置块:

require('lspconfig').clangd.setup {
  on_attach = on_attach,
  capabilities = capabilities,
}

修改为:

require('lspconfig').clangd.setup {
  on_attach = on_attach,
  capabilities = capabilities,
  cmd = {
    "clangd",
    "--std=c++20",
    -- 保留其他默认参数,比如--background-index、--clang-tidy等
  },
}

修改后重启nvim,clangd会默认以C++20标准分析代码,且通过LSP触发的编译操作会自动带上该参数。

方法2:全局设置编译参数(直接调用gcc/clang时生效)

如果习惯直接用g++/clang++编译,可在shell配置文件中添加环境变量:

  • Bash用户编辑~/.bashrc,添加:
    export CXXFLAGS="-std=c++20"
    
  • Zsh用户编辑~/.zshrc,添加同样内容。

保存后执行source ~/.bashrc(或对应zsh配置文件)生效,此后调用g++/clang++时会自动附加C++20参数。

方法3:修改Kickstart的编译快捷键配置

如果Kickstart中配置了编译快捷键(比如直接编译单个cpp文件),可直接修改快捷键对应的命令:

找到类似如下的快捷键配置:

vim.keymap.set('n', '<leader>cc', '<cmd>!g++ % -o %:r<CR>', { desc = 'Compile C++ file' })

修改为:

vim.keymap.set('n', '<leader>cc', '<cmd>!g++ % -o %:r -std=c++20<CR>', { desc = 'Compile C++ file with C++20' })

此后按快捷键编译时,会自动带上C++20标准参数。

方法4:CMake项目配置

若你用CMake管理项目,可在项目根目录的CMakeLists.txt中添加:

set(CMAKE_CXX_STANDARD 20)
set(CMAKE_CXX_STANDARD_REQUIRED ON)

CMake生成的构建文件会默认使用C++20标准编译代码。

注:修改nvim配置后,需重启nvim或执行:source $MYVIMRC让配置生效。

内容的提问来源于stack exchange,提问作者Bogdan Mieldzicz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 05:35:56