/neovim-ide

Neovim config for a web development IDE.

Primary LanguageLuaMIT LicenseMIT

Neovim Setup

neovim screenshot

IMPORTANT: Don’t blindly use my settings unless you know what that entails. Proceed at your own risk!

Inspirations

My inspirations for this project are devaslife and Josean Martinez with some extra plugins and keybinds of my personal choice.

Neovim Setup

Requires

  • True Color Terminal Like (macOS) : iTerm2 - Terminal for macOS.
  • True Color terminal Like (Linux) : Alacritty Terminal - Terminal for Linux written in Rust.
  • True Color terminal Like (WSL) : Windows Terminal - Terminal for WSL.
  • Neovim (Version 0.8 or Later)
  • Nerd Font - I use Hack Nerd Font. Check the link for more nerd fonts.
  • Ripgrep - For Telescope Fuzzy Finder.
  • Tree-sitter - Treesitter cli for tree-sitter plugin.

If you're on mac, linux or WSL, you can install iTerm2 (macOS only), Neovim and Ripgrep with homebrew. Check out the homebrew on how to install.

brew install --cask iterm2
brew install neovim
brew install ripgrep
brew install tree-sitter

Relevant Files

  • Copy the nvim directory into your ~/.config.

Basic Keybinds

  • The leader prefix key is assigned to space.
  • To escape into normal mode use esc or jj.
  • Open Telescope file explorer - <leader>e.
  • Open nvim-tree file explorer - <leader>b.

Basic Setup

The leader key is bind to space.
Check ~/.config/nvim/lua/user/core/keymaps.lua

Some plugins might be disabled as they are commented.

Uncomment the plugins and save the ~/.config/nvim/lua/user/plugins-setup.lua to install via packer.
Check ~/.config/nvim/init.lua for commented plugins.

Install LSP

Enter :LspInstall followed by the name of the server you want to install. Check neovim/nvim-lspconfig documentation.
Example: :LspInstall javascript
Or mason can be used to install lsp, dap etc.
Mason has been configured in such a way that it will automatically install lsp servers from the lsp config file - ~/.config/nvim/lua/user/plugins/lsp/lspconfig.lua
Enter :Mason to install, update and delete lsp, dap etc.
For more check mason docs - mason.nvim

Install language parser

Enter :TSInstall followed by the name of the language you want to install
Example: :TSInstall typescript
Check the file ~/.config/nvim/lua/user/plugins/treesitter.lua to install language parsers with :TSUpdate

Manage plugins

Run :PackerClean to remove any disabled or unused plugins
Run :PackerSync to update and clean plugins

Also manually saving the ~/.config/nvim/lua/user/plugins-setup.lua file updates the plugins to it's latest version.

Plugins

Plugin Manager

Dependency For Other Plugins

Preferred Colorscheme (use any one of the below)

Navigating Between Neovim Windows and Tmux

Essentials

File Explorer

VS Code Like Icons

Status Line

Fuzzy Finder

Autocompletion

Snippets

Managing & Installing Language Servers, Linters & Formatters

LSP Configuration

Formatting & Linting

Syntax Highlighting & Autoclosing Things

Git

Colorizer

Markdown Preview

  • iamcco/markdown-preview.nvim - Preview markdown on your modern browser with synchronised scrolling and flexible configuration. Check out the instructions below or on GitHub page to set it up.
    After setup open a .md file and use :MarkdownPreview to see a live preview inside your default browser.
cd ~/.local/share/nvim/site/pack/packer/start/
cd markdown-preview.nvim
yarn install
yarn build

Integrated Terminal

Indent Highlight

Discord Presence

TODO

  • Configure debugger for JavaScript and TypeScript with DAP.

License

MIT

Contributors

This project follows the all-contributors specification. Contributions of any kind welcome!