This is an nvim config that we use for coding. It uses the neovim nightly and is tested on arch. A lot of the configuration is based on artart222/CodeArt
- 
clone this repo and cdinto it
- 
run 
bash install.sh
After Installation run
:Lazy
See there if any packages need updating.
-to install a language server run :LspInstall <LANGUAGE>
Install the formatter you wish to use. For more info which formatters are supported check sbdchd/neoformat
These are the used plugins:
- DAPInstall.nvim
- LuaSnip
- cmp-buffer
- cmp-nvim-lsp
- cmp-nvim-lua
- cmp-path
- cmp_luasnip
- dashboard-nvim
- friendly-snippets
- gitsigns.nvim
- indent-blankline.nvim
- iswap.nvim
- lazygit.nvim
- lsp_signature.nvim
- lspkind-nvim
- lua-dev.nvim
- lualine.nvim
- markdown-preview.nvim
- neoformat
- nvim-autopairs
- nvim-bufferline.lua
- nvim-cmp
- nvim-colorizer.lua
- nvim-comment
- nvim-dap
- nvim-dap-ui
- nvim-lsp-installer
- nvim-lspconfig
- nvim-toggleterm.lua
- nvim-tree.lua
- nvim-treesitter
- nvim-ts-autotag
- nvim-ts-rainbow
- nvim-web-devicons
- onedark.nvim
- packer.nvim
- plenary.nvim
- telescope.nvim
- todo-comments.nvim
- vim-doge
- vim-fugitive
- vim-matchup
- vim-surround
- vimtex
- which-key.nvim
Look here for standard vim keymaps
Leader is mapped to <space>
| Key | Function | 
|---|---|
| <leader>h | :wincmd h<CR> | 
| <leader>j | :wincmd j<CR> | 
| <leader>k | :wincmd k<CR> | 
| <leader>l | :wincmd l<CR> | 
| <leader>H | :wincmd H<CR> | 
| <leader>J | :wincmd J<CR> | 
| <leader>K | :wincmd K<CR> | 
| <leader>L | :wincmd L<CR> | 
| Key | Function | 
|---|---|
| gb | :BufferLinePick<CR> | 
| Key | Function | 
|---|---|
| <C-Right> | <C-w>> | 
| <C-Left> | <C-w>< | 
| <C-Up> | <C-w>+ | 
| <C-Down> | <C-w>- | 
| Key | Function | 
|---|---|
| <leader>n | :noh<CR> | 
| Key | Function | 
|---|---|
| <leader>v | <C-w>v | 
| <leader>ws | <C-w>s | 
| Key | Function | 
|---|---|
| <leader>x | <C-w>c | 
| Key | Function | 
|---|---|
| <C-j> | :m .+1<CR>== | 
| <C-k> | :m .-2<CR>== | 
| <C-j> | <ESC>:m .+1<CR>==gi | 
| <C-k> | <ESC>:m .-2<CR>==gi | 
| <C-j> | :m '>+1<CR>gv=gv | 
| <C-k> | :m '<-2<CR>gv=gv | 
| Key | Function | 
|---|
| Key | Function | 
|---|
| Key | Function | 
|---|---|
| p | ]p | 
| Key | Function | 
|---|---|
| <leader>i | gg=G<C-o> | 
| Key | Function | 
|---|---|
| <leader><leader>j | :cn<CR> | 
| <leader><leader>k | :cp<CR> | 
| <leader><leader>q | :copen<CR> | 
| <leader><leader>l | :.cc<CR> | 
| Key | Function | 
|---|---|
| <leader>m | :MarkdownPreview<CR> | 
| Key | Function | 
|---|---|
| <F8> | :setlocal spell spelllang=de,en <return> | 
| <F9> | :set nospell <return> | 
| Key | Function | 
|---|---|
| <C-l> | <c-g>u<Esc>[s1z=`]a<c-g>u | 
| Key | Function | 
|---|---|
| <silent> | <leader>g :LazyGit<CR> | 
| Key | Function | 
|---|---|
| <leader>sw | :ISwap<CR> | 
| Key | Function | 
|---|---|
| <BS> | <C-^> | 
| Key | Function | 
|---|---|
| <leader>tt | :VimtexCompile<CR> | 
| <leader>tv | :VimtexView<CR> | 
| <leader>tc | :VimtexTocToggle<CR> | 
| <leader>te | :VimtexErrors<CR> | 
| Key | Function | 
|---|---|
| <leader>ff | <cmd>Telescope find_files<cr> | 
| <leader>fg | <cmd>Telescope live_grep<cr> | 
| <leader>fb | <cmd>Telescope buffers<cr> | 
| <leader>fh | <cmd>Telescope search_history<cr> | 
| <leader>fc | <cmd>Telescope command_history<cr> | 
| <leader>fq | <cmd>Telescope quickfix<cr> | 
| <leader>fr | <cmd>Telescope registers<cr> | 
| <leader>fs | <cmd>Telescope spell_suggest<cr> | 
| <leader>fo | <cmd>Telescope oldfiles<cr> | 
| <leader>fm | <cmd>Telescope marks<cr> | 
| Key | Function | 
|---|---|
| <leader>fn | <cmd>DashboardNewFile<cr> | 
| Key | Function | 
|---|---|
| <leader>c<leader> | :CommentToggle<CR> | 
| <leader>c<leader> | :CommentToggle<CR> | 
| Key | Function | 
|---|---|
| <C-b> | :NvimTreeToggle<CR> | 
| Key | Function | 
|---|---|
| gD | :lua vim.lsp.buf.declaration()<CR> | 
| gd | :lua vim.lsp.buf.definition()<CR> | 
| <c-q> | :lua vim.lsp.buf.hover()<CR> | 
| gi | :lua vim.lsp.buf.implementation()<CR> | 
| <C-a> | :lua vim.lsp.buf.signature_help()<CR> | 
| <leader>D | :lua vim.lsp.buf.type_definition()<CR> | 
| <leader>rn | :lua vim.lsp.buf.rename()<CR> | 
| <leader>ca | :lua vim.lsp.buf.code_action()<CR> | 
| gr | :lua vim.lsp.buf.references()<CR> | 
| <leader>e | :lua vim.lsp.diagnostic.show_line_diagnostics()<CR> | 
| [d | :lua vim.lsp.diagnostic.goto_prev()<CR> | 
| ]d | :lua vim.lsp.diagnostic.goto_next()<CR> | 
| <leader>q | :lua vim.lsp.diagnostic.set_loclist()<CR> | 
| Key | Function | 
|---|---|
| <C-t> | :ToggleTerm<CR> | 
| Key | Function | 
|---|---|
| <leader>fr | :Neoformat<CR> | 
| Key | Function | 
|---|---|
| <leader>br | :lua require('dap').toggle_breakpoint()<CR> | 
| <leader>co | :lua require('dap').continue()<CR> | 
| <leader>so | :lua require('dap').step_over()<CR> | 
| <leader>si | :lua require('dap').step_into()<CR> | 
| <leader>re | :lua require('dap').repl.open()<CR> | 
| <leader>re | :lua require('dap').repl.open()<CR> | 
| Key | Function | 
|---|---|
| <Leader>ss | :<C-u>SessionSave<CR> | 
| <Leader>sl | :<C-u>SessionLoad<CR> | 
