My (Programmer) configuration for Neovim.
and of course some other settings mappings and tweaks that help me code faster.
Tested on:
First and foremost this configuration was made for my use so it may not be 'the right one' for you, I deeply encourage any one that uses vim to customize it for themselves and for their type of use (as I mentioned, for me it is mainly programming)
This configuration has been tested so far on Linux and on windows (windows needs a bit more tweaking to get it just right) and is planned to work in a manner that most systems and terminal emulators will run well.
There are a lot of parts in this configuration that need things to go right and be installed (compilers, Language-servers, etc) so for that reason everything used here comes with links for the original pages (didn't included them because they'd bloat the repo and won't be up to date)
All the paths for thins such as servers and files outside of the configuration are in the globals so set them for your paths
for windows users I recommend getting MinGW because it comes with make and gcc
If you want to use it set
let g:Use_nerdfonts = ?
to 1 and if not then to 0 in init.vim
More options with the tree-sitter parser
Flags:
(a) - automatically runs (Doesn't need to get sourced to init)
(s) - does need to be sourced to init
(n) - doesnt releated to the editor directly (or at all)
(.) - same as the one above it
nvim/
|- init.vim F(a) File that initializes the editor's behavior
|- plugins.vim F(s) Specifies the plugins that need to be installed or loaded and configured (for the plugin manager)
|- README.md F(n) You'r here, inforamtion about this repo
|- after/ D(a) Overrule or add to the system-wide configuration
| |- ftplugin/ D(a) File type specific configuration
|- autoload/ D(a) Place to put scripts that will load automatically and can be accessed from anywhere
| |- plug.vim F(.) The plugin manager (vim-plug)
| |- plugged/ D(.) All the installed plugins are here
| |- myUtils/ D(.) My utils for the configuration (e.g Devicons, lspinfo, coloring, ..)
|- colors/ D(a) Colorschemes
|- |- cplex.vim F(.) my colorscheme (feel free to suggest your own!)
|- configs/ D(s) All the configurations for non-native things
| |- lsp-servers/ F(.) Lsp-servers configuration
| |- plugins/ F(.) Plugins configurations
|- releated/ D(n) Files for editor releated things (e.g Language-servers's setup script and file for generating your own highlight lists)
|- plugin/ D(a) External scripts used by the editor or the user
| |- sets.vim F(.) All the 'set ..' command so the main settings for vim
| |- mappings.vim F(.) Most of the mappings (if you don't see here a mapping you look for then check inside the specific plugin's config)
Plugin manager is vim-plug
if your moving from nvim-compe to nvim-cmp beware that now everything is in its own plugin now so...
Works well and doesn't come with more features then necessary
For running code actions, code diagonstics and smart auto completion it's built in so it's the most trusted on terms of support or maintenance
If you want a lot of snippets take a look at vim-snippets
faster, well equipped and good for creating scripts (refactoring, definition tamplates, etc..) for complex code
Allowes you to view the 'behind the scenes' of tree-sitter directly in neovim
"Fugitive is the premier Vim plugin for Git. Or maybe it's the premier Git plugin for Vim? Either way, it's 'so awesome, it should be illegal'. That's why it's called Fugitive." - From it's README.markdown
Gotta see what changed while changing some more
Well integrated into vim's text actions and saves a lot of time
.
for repeating a plugin map"Repeat.vim remaps
.
in a way that plugins can tap into it." - From it's README.markdown
A true life saver when working on front-end color tables or any other place where coloring by rgb/hex/hsl values
A very interesting tool which we all need to follow closely and carefully
All the language-servers installing is inside setup_lang_servers script
C 'family' ls
Microsoft's python ls
Eclipse's ls, many say that it is hard to configure but it's the best out there
The official Go language server developed by the Go team
Usefull to have if your customizing your Vim
Usefull to have if your customizing your Neovim
Selected , Normal , Modified , Warning , Error