Neovim is an open source text editor that is a fork of Vim. It is designed to be highly customizable and extensible, and it has a wide range of features that make it a powerful tool for editing text.
I use folke/lazy.nvim as my package manager.
The plugin folke/lazy.nvim is a plugin for Neovim that provides an easy way to manage plugins and configuration. It allows users to quickly install and update plugins, as well as customize their settings with a simple configuration file. It also provides an easy way to keep track of changes to the configuration, making it easier to keep your setup up-to-date.
This configuration has many plugins. First, clone this repository. Then, check if one plugin should have extra steps to install. here are some of them:
- vim-dap(you should install gdb)
- sniprun(clang should be installed)
- run Mason to install lsp server
The leader key for this configuration is the space bar.
The following are some of the keybindings:
Mode | Key | remaps |
---|---|---|
n | <A-i> | <CMD>lua require("FTerm").toggle() |
t | <A-i> | <C->lua require("FTerm").toggle() |
n | <F9> | :lua require'dap'.toggle_breakpoint() |
n | <leader>bb | :JABSOpen |
n | <leader>db | :lua require'dap'.continue() |
n | <leader>ga | :HopAnywhere |
n | <leader>gl | :HopLine |
n | <leader>gw | :HopWord |
n | <leader>ms | :ShowMappings |
n | <leader>op | :NvimTreeFocus |
n | <leader>xd | TroubleToggle document_diagnostics |
n | <leader>xl | TroubleToggle loclist |
n | <leader>xq | TroubleToggle quickfix |
n | <leader>xw | TroubleToggle workspace_diagnostics |
n | <leader>xx | TroubleToggle |
n | \u | UrlView |
n | gR | TroubleToggle lsp_references |
n | X | :SnipRun |
There are some plugins in my configuration which are really helpful and I use them frequently.
- tpope/vim-rsi/ for emacs keybinding in insert mode
- Fterm for terminal
- lazy.nvim for package manager
- nvim-tree/nvim-tree.lua
- Telescope
- SnipRun
- Mason for install lspserver
- vim-cmp
- nvim-dap for debugging
- orgmode and org-bullets
- Glow for preview markdown