Skip to content

boris/neovim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

69 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

😪 LazyVim Configuration

This is a modular and clean Neovim configuration built on top of LazyVim. It follows a structured approach with separated files for options, keymaps, plugins, and LSP setup — making it easy to extend and maintain.

📁 Directory Structure

~/.config/nvim/
├── init.lua                  -- Entry point: loads modular configs
├── lua/
│   └── config/
│       ├── lazy.lua          -- Bootstraps lazy.nvim and loads plugins from /plugins
│       ├── options.lua       -- Vim options (line numbers, tabs, colors, etc.)
│       ├── keymaps.lua       -- Global keybindings
│       ├── autocmds.lua      -- Custom autocommands
│       └── lsp.lua           -- LSP server setup
│
│   └── plugins/
│       ├── lsp.lua           -- LSP and completion plugins
│       ├── treesitter.lua    -- Treesitter config
│       ├── ui.lua            -- Colorscheme, UI components (NERDTree, Airline, Dashboard)
│       ├── tools.lua         -- Telescope, autopairs, git
│       └── ai.lua            -- Copilot and AI tools (Parrot, CopilotChat)

🚀 Getting Started

  1. Clone this config:

    git clone https://github.com/YOUR_USERNAME/nvim-config ~/.config/nvim
  2. Launch Neovim:

    nvim
  3. Lazy.nvim will install itself and all configured plugins on first run.

  4. (Optional) Clean lock file:

    rm ~/.config/nvim/lazy-lock.json
    nvim +Lazy sync

➕ Adding a New Plugin

To add a new plugin, simply create a file inside lua/plugins/, or append to an existing one.

✅ Example: Adding vim-surround

Create or edit lua/plugins/tools.lua:

-- ~/.config/nvim/lua/plugins/tools.lua
return {
  {
    "tpope/vim-surround",
    event = "VeryLazy", -- Optional lazy-load
  },
}

Save and run:

:Lazy sync

🌜 Colorscheme

This config uses the charleston colorscheme and vim-airline with the deus theme.

To change the theme, edit plugins/ui.lua and update:

vim.cmd("colorscheme YOUR_THEME")

💬 AI Support

Includes both:

  • CopilotChat.nvim: Chat-based Copilot UX
  • parrot.nvim: Gemini/OpenAI assistant

Just export the following in your shell:

export OPENAI_API_KEY=your_openai_key
export GEMINI_API_KEY=your_gemini_key

🛠 LSP Servers

Installed LSP servers include:

  • Docker (dockerls)
  • JSONNet (jsonnet_ls)
  • Python (pyre)
  • YAML (yamlls)

You can extend them in config/lsp.lua.


🧠 Keymaps

Mapping Mode Action
<C-n> Normal Toggle Neo-tree file explorer
<C-p> Normal Telescope: find files
<leader>fg Normal Telescope: live grep
<C-i> Normal Toggle invisible characters (:set list!)
<C-j> Insert Accept GitHub Copilot suggestion
<leader>aa Normal/Visual Toggle Copilot Chat window
<C-b> Normal/Visual Toggle Copilot Chat window
u (in Neo-tree) Normal Go up one directory level
zh (in Neo-tree) Normal Toggle hidden files
zz (in Neo-tree) Normal Toggle file tree view

📦 Powered by

About

Vim files

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published