Giter Club home page Giter Club logo

s1snvim's Introduction

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.

s1snvim's People

Contributors

sin1111yi avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.