Skip to content

gudoshnikovn/simplenvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Config — Minimal, Robust, Extensible

Who this is for: This Neovim configuration is designed for developers seeking a quick start with a modern, functional, and easily extensible environment. It's ideal for those looking for a clean, well-structured base that can cover 99% of daily tasks while avoiding unnecessary complexity.


🚀 Quick Start

Requirements:

  • Neovim 0.11+
  • git
  • Recommended: ripgrep (for fast searching), make (for telescope-fzf-native compilation), glow (for Markdown preview).
  • Optional: Node.js, Python, Go, etc., for various language servers and tools.

Installation (Linux/macOS):

The easiest way is to use make:

make install

Or, if you prefer to run the script directly:

bash scripts/install.sh

Developer Install (Symlink):

If you plan to actively modify the configuration, use the symlink option:

make install-symlink

This links your repository directly to your Neovim config directory, allowing for immediate reflection of changes.

First Run:

After installation, simply launch Neovim:

nvim

lazy.nvim will automatically bootstrap and install all plugins. mason-tool-installer will begin installing essential language servers and formatters.

Adding LSPs for Your Frameworks:

After the first run, you can easily add support for other languages and frameworks:

  1. Open Neovim.

  2. Run the command :Mason to interactively manage tools.

  3. Find the desired language server (e.g., pyright for Python, tsserver for TypeScript) and install it.

  4. Alternatively, for automatic installation, add the server name to the servers_list in lua/plugins/lsp/config.lua:

    local servers_list = {
      "lua_ls", "bashls", "jsonls", "yamlls", "lemminx", "dockerls", "marksman",
      "pyright", -- Add here
      "ts_ls", -- And here
      -- etc.
    }

    Then restart Neovim or run :Lazy sync.

Update:

make update

Uninstall:

make uninstall

About the Project

This Neovim configuration aims to provide:

  • A Minimal and Robust Base: Focused on the essentials for productive work.
  • An Explicit and Consistent Structure: Each plugin resides in its own folder (lua/plugins/<name>/), containing init.lua (Lazy.nvim spec), optionally config.lua (plugin configuration), and optionally keys.lua (keymaps).
  • Easy Extensibility and Maintainability: Thanks to its modular structure, adding or removing functionality is intuitive.

Key Components:


📚 Documentation

For more detailed information on various aspects of the configuration, please refer to the files in the docs/ directory:


License

MIT License

About

Simple nvim configuration. The best way to set up your ideal configuration.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published