Skip to content

rwxmad/config.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

███╗   ██╗██╗   ██╗██╗███╗   ███╗     ██████╗ ██████╗ ███╗   ██╗███████╗██╗ ██████╗
████╗  ██║██║   ██║██║████╗ ████║    ██╔════╝██╔═══██╗████╗  ██║██╔════╝██║██╔════╝
██╔██╗ ██║██║   ██║██║██╔████╔██║    ██║     ██║   ██║██╔██╗ ██║█████╗  ██║██║  ███╗
██║╚██╗██║╚██╗ ██╔╝██║██║╚██╔╝██║    ██║     ██║   ██║██║╚██╗██║██╔══╝  ██║██║   ██║
██║ ╚████║ ╚████╔╝ ██║██║ ╚═╝ ██║    ╚██████╗╚██████╔╝██║ ╚████║██║     ██║╚██████╔╝
╚═╝  ╚═══╝  ╚═══╝  ╚═╝╚═╝     ╚═╝     ╚═════╝ ╚═════╝ ╚═╝  ╚═══╝╚═╝     ╚═╝ ╚═════╝

Requirements

Installation

Install neovim, tree-sitter, luajit, ripgrep

brew install --HEAD neovim tree-sitter luajit ripgrep

Install packer.nvim

Unix, Linux
git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim
Windows Powershell
git clone https://github.com/wbthomason/packer.nvim "$env:LOCALAPPDATA\nvim-data\site\pack\packer\start\packer.nvim"

Nvim configuration layout

├── README.md
├── init.lua # =========================> Root config file
├── lua # ==============================> Lua configs directory
│   └── rwxmad
│       ├── colors.lua #================> Colorscheme config
│       ├── plugins # ===================> Plugin configs
│       │   ├── bufferline.lua
│       │   ├── lsp.lua
│       │   ├── telescope.lua
│       │   └── treesitter.lua
│       ├── keymaps.lua # =============> Keymaps
│       └── options.lua # =============> General settings
└── stylua.toml

Main mappings

  • <Leader> key set as ,
  • <Escape> from insert mode can be applied by jj
  • <leader> w - Write file
  • <leader> q - Quit

Some basic mappings

Keymap Description
<leader><space> Turn off search highlight
<leader> ff Lists files in your current working directory
<leader> fb Telescope file browser
<leader> fg Search for a string in your current working directory and get results live as you type (respecting .gitignore)
<leader> bg Search for a string in your current buffer
<leader> g Jump to any word in buffer
<C-n> Next item in completion list
<C-p> Previous item in completion list
<C-n> NvimTreeToggle
<leader> n NvimTreeFindFile
<A-d> Toggle terminal
gcc Comment out a line
gc Comment out the target of a motion
gcap Comment out a paragraph

Plugins

Plugin Description
packer.nvim A use-package inspired plugin manager for Neovim
plenary.nvim Lua functions
nui.nvim UI Component Library for Neovim
nvim-web-devicons Lua fork of vim-web-devicons for neovim
nvim-autopairs Autopairs for neovim written by lua
Comment.nvim Smart and powerful comment plugin for neovim
hop.nvim Neovim motions on speed
nvim-surround Add/change/delete surrounding delimiter pairs with ease
indent-blankline.nvim Indent guides for Neovim
neo-tree.nvim Neovim plugin to manage the file system and other tree like structures
todo-comments.nvim Highlight, list and search todo comments in your projects
nvim-treesitter Nvim Treesitter configurations and abstraction layer
nvim-treesitter-textobjects Syntax aware text-objects, select, move, swap, and peek support
nvim-treesitter-refactor Refactor module for nvim-treesitter
playground Treesitter playground integrated into Neovim
nvim-ts-autotag Use treesitter to auto close and auto rename html tag
nvim-ts-context-commentstring Neovim treesitter plugin for setting the commentstring based on the cursor location in a file
nvim-lspconfig Quickstart configs for Nvim LSP
none-ls.nvim null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
mason.nvim Portable package manager for Neovim that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters
mason-lspconfig.nvim Extension to mason.nvim that makes it easier to use lspconfig with mason.nvim
mason-null-ls.nvim mason-null-ls bridges mason.nvim with the null-ls plugin - making it easier to use both plugins together
noice.nvim Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu
dashboard-nvim Fancy Fastest Async Start Screen Plugin of Neovim
lsp_signature.nvim LSP signature hint as you type
nvim-navic Simple winbar/statusline plugin that shows your current code context
lspsaga.nvim A light-weight lsp plugin based on neovim's built-in lsp with a highly performant UI
nvim-cmp A completion plugin for neovim coded in Lua
cmp-nvim-lsp nvim-cmp source for neovim builtin LSP client
cmp-buffer nvim-cmp source for buffer words
cmp-path nvim-cmp source for path
cmp_luasnip luasnip completion source for nvim-cmp
LuaSnip Snippet Engine for Neovim written in Lua
friendly-snippets Set of preconfigured snippets for different languages
telescope.nvim Highly extendable fuzzy finder over lists
telescope-fzf-native.nvim FZF sorter for telescope written in C
telescope-file-browser.nvim File Browser extension for telescope.nvim
telescope-media-files.nvim Preview images, pdf, epub, video, and fonts from Neovim using Telescope.
nvim-colorizer.lua A high-performance color highlighter for Neovim which has no external dependencies! Written in performant Luajit
glow.nvim A markdown preview directly in your neovim
markdown-preview.nvim Preview markdown on your modern browser with synchronised scrolling
lualine.nvim A blazing fast and easy to configure neovim statusline plugin written in pure lua
bufferline.nvim A snazzy bufferline for Neovim
gitsigns.nvim Git integration for buffers
vim-fugitive Fugitive is the premier Vim plugin for Git
typescript-tools.nvim TypeScript integration NeoVim deserves
rust-tools.nvim Tools for better development in rust using neovim's builtin lsp
crates.nvim A neovim plugin that helps managing crates.io dependencies
neodev.nvim Neovim setup for init.lua and plugin development with full signature help, docs and completion for the nvim lua API.
presence.nvim Discord Rich Presence for Neovim

Language servers

About

My neovim config

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages