.. | ||
lua | ||
snippets | ||
init.lua.tmpl | ||
README.md | ||
stylua.toml |
Neovim Setup
Autocompletion and "code intellisense" is provided by the LSP client built into Neovim. The following language servers are configured:
- tsserver
- eslint
- cssls
- html
Requirements
- Neovim v0.8 or greater.
- git.
- make, the build tool.
- npm cli. Javascript package manager.
- nodejs. Javascript runtime. Required by the language servers listed above.
- ripgrep. Improves project wide search speed.
- fd. Improves file search speed.
- A patched font to display icons. I hear nerdfonts has a good collection.
Keybindings
Leader key: Space
.
Mode | Key | Action |
---|---|---|
Normal | <leader>h |
Go to first non empty character in line. |
Normal | <leader>l |
Go to last non empty character in line. |
Normal | <leader>a |
Select all text. |
Normal | cp |
Copy selected text to clipboard. |
Normal | cv |
Paste clipboard content. |
Normal | <leader>w |
Save file. |
Normal | <leader>bq |
Close current buffer. |
Normal | <leader>bc |
Close current buffer while preserving the window layout. |
Normal | <leader>bl |
Go to last active buffer. |
Normal | <leader>? |
Search oldfiles history. |
Normal | <leader><space> |
Search open buffers. |
Normal | <leader>ff |
Find file in current working directory. |
Normal | <leader>fg |
Search pattern in current working directory. Interactive "grep search". |
Normal | <leader>fd |
Search diagnostics in current file. |
Normal | <leader>fs |
Search pattern in current file. |
Normal | <leader>e |
Open file explorer. |
Normal | <Ctrl-g> |
Toggle the builtin terminal. |
Normal | K |
Displays hover information about the symbol under the cursor. |
Normal | gd |
Jump to the definition. |
Normal | gD |
Jump to declaration. |
Normal | gi |
Lists all the implementations for the symbol under the cursor. |
Normal | go |
Jumps to the definition of the type symbol |
Normal | gr |
Lists all the references. |
Normal | gs |
Displays a function's signature information. |
Normal | <F2> |
Renames all references to the symbol under the cursor. |
Normal | <F3> |
Format code in current buffer. |
Normal | <F4> |
Selects a code action available at the current cursor position. |
Visual | <F4> |
Selects a code action available in the selected text. |
Normal | gl |
Show diagnostics in a floating window. |
Normal | [d |
Move to the previous diagnostic. |
Normal | ]d |
Move to the next diagnostic. |
Autocomplete keybindings
Mode | Key | Action |
---|---|---|
Insert | <Up> |
Move to previous item. |
Insert | <Down> |
Move to next item. |
Insert | <Ctrl-p> |
Move to previous item. |
Insert | <Ctrl-n> |
Move to next item. |
Insert | <Ctrl-u> |
Scroll up in documentation window. |
Insert | <Ctrl-d> |
Scroll down in documentation window. |
Insert | <Ctrl-e> |
Cancel completion. |
Insert | <C-y> |
Confirm completion. |
Insert | <Enter> |
Confirm completion. |
Insert | <Ctrl-f> |
Go to next placeholder in snippet. |
Insert | <Ctrl-b> |
Go to previous placeholder in snippet. |
Insert | <Tab> |
If completion menu is open, go to next item. Else, open completion menu. |
Insert | <Shift-Tab> |
If completion menu is open, go to previous item. |
Plugin list
Name | Description |
---|---|
paq-nvim | Plugin manager. |
gruvbox.nvim | Gruvbox colorscheme for Neovim. |
nvim-web-devicons | Helper functions to show icons. |
nvim-colorizer.lua | The fastest Neovim colorizer. |
lualine.nvim | Pretty statusline. |
indent-blankline.nvim | Shows indent guides in current file. |
telescope.nvim | Fuzzy finder. |
telescope-fzf-native.nvim | Extension for telescope. Allows fzf-like syntax in searches. |
gitsigns.nvim | Shows indicators in gutter based on file changes detected by git. |
vim-fugitive | Git integration into Neovim/Vim. |
nvim-treesitter | Configures treesitter parsers. Provides modules to manipulate code. |
nvim-treesitter-textobjects | Creates textobjects based on treesitter queries. |
telescope-file-browser.nvim | File Browser extension for telescope.nvim. |
Comment.nvim | Toggle comments. |
nvim-surround | Add/change/delete surrounding delimiter pairs with ease. |
nvim-autopairs | Autopairs for neovim. |
hop.nvim | Neovim motions on speed! |
plenary.nvim | Collection of modules. Used internaly by other plugins. |
toggleterm.nvim | Manage terminal windows easily. |
mason.nvim | Portable package manager for Neovim. |
mason-lspconfig.nvim | Integrates nvim-lspconfig and mason.nvim. |
nvim-lspconfig | Quickstart configs for Neovim's LSP client. |
lspkind.nvim | vscode-like pictograms for neovim lsp completion items. |
lsp-format.nvim | A wrapper around Neovims native LSP formatting. |
trouble.nvim | A pretty diagnostics, references, telescope results, quickfix and location list. |
nvim-dap | Debug Adapter Protocol client implementation for Neovim |
nvim-dap-virtual-text | Virtual text support to nvim-dap |
nvim-dap-ui | A UI for nvim-dap |
nvim-cmp | Autocompletion engine. |
cmp-buffer | nvim-cmp source. Suggest words in the current buffer. |
cmp-path | nvim-cmp source. Show suggestions based on file system paths. |
cmp_luasnip | nvim-cmp source. Show suggestions based on installed snippets. |
cmp-nvim-lsp | nvim-cmp source. Show suggestions based on LSP servers queries. |
cmp-nvim-lua | nvim-cmp source for nvim lua. |
LuaSnip | Snippet engine. |
friendly-snippets | Collection of snippets. |
telekasten.nvim | A Neovim (lua) plugin for working with a markdown zettelkasten / wiki and mixing it with a journal |
calendar-vim | calendar in vimscript |