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
cd
into 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> |