neocode icon indicating copy to clipboard operation
neocode copied to clipboard

Completely theme responsive, lean, streamlined lua configuration for neovim (dotfiles).

NeoCode

In my current workflow I use VSCode more and more, because features like remote containers or developing via SSH are not supported in nvim. To be able to work without interruption and not have to use different key bindings everywhere, NeoCode was born. With this configuration I can work fluently in both environments with a only few exceptions.

intro

requirements

  • neovim >= 0.6

look & feel

Theme your nvim with ease under settings with github, material, onedark, or tokyonight.

theming

Navigate files, symbols, grep and more with explorer (nvim-tree) and search (telescope.nvim).

telescope

Keep buffers on sight with a buffer bar (nvim-bufferline.lua).

buffers

Handle your code with lsp support with nvim-lspinstall, nvim-treesitter, lsp_signature.nvim, lspsaga, and trouble.nvim.

diagnostics

signature

Complete your thoughts with auto completion (nvim-cmp) and snippets (vim-vsnip).

completion

Move your cursor with lightning speed with hop (like easymotion), numb.nvim, and quick-scope.

hop

Mark your thoughts with todo-comments.nvim.

todo

Focus with zen style (zen-mode.nvim).

zen

Many more plugins are used to round up the experience.

keymaps

Most standard keymaps of nvim are untouched. You can find a list for custom mappings and exceptions between both environments here.

setup

neovim (>= 0.6)

Clone or copy the repo into your .config/nvim folder and start nvim. The package manager will get installed automatically. After the first start, install all packages with :PackerInstall and restart nvim.

vscode

To be able to use vscode accordingly, the following plugins must be installed and set up:

Beside these plugins you also have to set keybindings and settings. You can find them here.

On newer neovim versions check https://github.com/asvetliakov/vscode-neovim/issues/632 to prevent open new file loops!

todos

  • [ ] todo keybindings in vscode
  • [ ] git integration
  • [ ] dba integration in nvim
  • [ ] harmonize keybindings for debugging
  • [ ] add dev container (predefined docker with complete NeoCode integration for different languages with linter and formatter)