๐ก Light, fast and pretty Neovim config for C series language development. Based on LazyVim.
๐ Best regards for all the Neovim and Neovim plugins developers.
Coming soon
I always use the lastest version of neovim and any other stuff.
- Neovim
- Git
- a Nerd Font (Highly Recommanded)
- a C compiler for
nvim-treesitter
. See here - fd, ripgrep for
telescope.nvim
C/Cpp/Rust/...
compilers likegcc
,g++
,clang
,cargo
and so on.
-
Just back up your own configs and datas, then clone this repo, lazy.nvim will download all the plugins for you.
-
Cause branch ver.0.1 has been deprecated, the commands below is not recommended any more. But it is easy to use and understand as a pre-config for Neovim, with elder LazyVim utils. For beginners, it could be more effective.
cp -r ~/.config/nvim ~/.config/nvim.bak
git clone --branch ver.0.1 https://github.com/sin1111yi/s1sNvim ~/.config/nvim
- If your want to use the lastest but unstable version, clone branch
ver.dev
.
git clone --branch ver.dev https://github.com/sin1111yi/s1sNvim ~/.config/nvim
In neovim configured by lua, neovim will load profiles begin from init.lua
in ~/.config/nvim/
. But if you are using $NVIM_APPNAME
, conditions are different, see here.
Here are 2 folders in ~/.config/lua
, they are config
and plugins
.
In config
, you can see 4 files bootstrap.lua
, options.lua
, keymaps.lua
, autocmds.lua
and a folder plugins
-
Add or modify options, keymaps, autocmds in the corresponding files. All the profiles are loaded by
bootstrap.lua
. In this file, after lazy.nvim is installed, s1sNvim will begin to load LazyVim and customed plugins. -
In
core/plugins/keymaps.lua
, there are some keymaps depend on plugins and exapi.
In plugins
, there are several folders which contains different .lua
files.
-
Add or modify plugins and their options in
plugins/custom
. You can easily do that by following the same method with LazyVim. See here. -
You can edit
plugins/custom/custom.lua
in the way that you editLazyVim/starter
, see here.
If you want to disable modules or plugins provided by s1sNvim, check bootstrap.lua
. Here's the code, and each folder in plugins
is a module.
---@class PluginsLoadOpts
local pluginsConf = {
---@type table<string, boolean>
load_modules = {
["colorscheme"] = true,
["ui"] = true,
["coding"] = true,
["custom"] = false,
},
---@type string[]
disbaled_plugins = {
-- for example, uncomment this line to let lazy ignore neodev
"folke/neodev.nvim",
"folke/neoconf.nvim",
-- "echasnovski/mini.indentscope",
},
---@type table<string, boolean>
extra_modules = {
["markdown"] = true,
["tree-sitter-extensions"] = true,
},
}
For example, if you set pluginsConf.load_modules["coding"]
to false, then all the .lua
files in plugins/coding
won't be loaded by lazy. If you want to disable a single plugin, just follow the comment in the above code. If you want to load extra modules like markdown
, just add it in extra_modules
in the way showed in above code. But this extra
isn't the extra modules provided by LazyVim. So if you want to use LazyExtra modules, manage them in LazyVim way.
Coming soon
I suggest that you sholdn't use vim/nvim as you first editor, even vscode. Begin your early learning with IDE like vs or clion will makes your life better.