Skip to content

lootbugger/my.nvim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Neovim Starter

Base configuration for Neovim. For those looking to make Neovim their new main editor. Here you'll find a popular combination of plugin to make your experience a little bit better.

A few things have been configured to resemble other modern text editors. You'll find a file explorer with tree style view, list open files in tabs, git integration and a terminal easy to toggle.

Autocompletion and "code intellisense" is provided by the LSP client built into Neovim. The following language servers are configured:

  • lua-language-server
  • rust-analyzer

To understand more about this configuration you can read these resources:

Requirements

  • Neovim v0.11.4 or greater.
  • git.
  • tree-sitter CLI
  • A C compiler. Can be gcc, tcc or zig.
  • (optional) ripgrep. Improves project wide search speed.
  • (optional) fd. Improves file search speed.
  • (optional) A patched font to display icons. I hear nerdfonts has a good collection.

Installation

  • Backup your existing configuration if you have one.

  • If you don't know the path of the Neovim configuration folder use this command.

    nvim --headless -c 'echo stdpath("config") | quit'
  • Now clone this repository in that location.

    git clone --branch=05-modular https://github.com/VonHeikemen/nvim-starter /tmp/nvim-config-path

    Do not execute this command as is. Replace /tmp/nvim-config-path with the correct path from the previous step.

  • Next time you start Neovim all plugins will be downloaded automatically. After this process is done nvim-treesitter will install language parsers for treesitter. And, mason.nvim will download language servers listed in the configuration. Use the command :Mason to check the download process of language servers.

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 gy Copy selected text to clipboard.
Normal gp Paste clipboard content.
Normal x Delete character under cursor without modifying any register.
Operator X Delete operator, like d but it doesn't modify any register.
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 gcc Toggle comment in current line.
Operator gc Toggle comment in text.
Normal gt Pick a visible tab.
Normal <leader><space> Search open buffers.
Normal <leader>ff Find file in current working directory.
Normal <leader>fh Search oldfiles history.
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>u Search undo history.
Normal <leader>? Search keymaps.
Normal <leader>/ Search all available snack pickers.
Normal <leader>e Open file explorer.
Normal <Ctrl-g> Toggle a terminal window.
Terminal <Esc><Esc> Pressing Escape twice quickly goes back to normal mode.

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-Space> Toggle documentation window.
Insert <Ctrl-e> Cancel completion.
Insert <C-y> Confirm completion.
Insert <Enter> Confirm completion.
Insert <Ctrl-l> Go to next placeholder in snippet.
Insert <Ctrl-h> 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
tokyonight.nvim A dark theme for Neovim.
mini.nvim Collection of independent lua modules that enhance Neovim's features.
snacks.nvim Collection of QoL plugins.
bufferline.nvim Pretty tabline.
nvim-lspconfig Quickstart configurations for various language servers.
mason.nvim Installer for external tools.
mason-lspconfig.nvim mason.nvim extension. Provides the command :LspInstall.
nvim-lspconfig Quickstart configurations for various language servers.
nvim-treesitter Provides easy access to treesitter parsers and queries.
ts-enable.nvim Enable treesitter based features.
vim-repeat Add "repeat" support for plugins.
friendly-snippets Collection of custom snippets for many programming languages.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages