Skip to content

sin1111yi/s1sNvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

s1sNvim

💡 Light, fast and pretty Neovim config for C series language development. Based on LazyVim.

👉 Best regards for all the Neovim and Neovim plugins developers.

⚠️ Issues and PRs are also welcome. Let's solve all the problems together!

👓 Preview

Coming soon

⚡️ Requirements

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 like gcc, g++, clang, cargo and so on.

🚀 Installation

  • 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

📖 Introduce

🫱 Beginning

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 edit LazyVim/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.

🦾 Plugins

Coming soon

🏁 For Novice Developers

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.

Releases

No releases published

Packages

 
 
 

Languages