NOTE: This config of neovim requires version 0.8+ (because of null-ls)
With inspiration from:
All configs found under the lua
folder.
Keymaps are located under lua/keymaps.lua
and lua/lsp/handlers.lua
Installing Nvim
See Neovim Quick Start Ubuntu:
Easiest:
# Download
https://github.com/neovim/neovim/releases/tag/nightly
mv ~/Downloads/nvim.appimage ~/nvim.appimage
echo "alias nvim='~/nvim.appimage'" >> ~/.bashrc
chmod u+x ~/nvim.appimage && ~/nvim.appimage
sudo apt-get install ninja-build gettext libtool libtool-bin autoconf automake cmake g++ pkg-config unzip curl doxygen
git clone https://github.com/neovim/neovim ~/neovim
cd ~/neovim && make CMAKE_BUILD_TYPE=RelWithDebInfo
git checkout release-0.8 # stable
sudo make install
Make sure to remove or move your current nvim
directory
git clone git@github.com:MarkusSagen/nvim.git ~/.config/nvim
nvim
Or the full install:
git clone git@github.com:MarkusSagen/nvim.git ~/.config/nvim
sudo apt install xclip xsel
pip install pynvim
npm i -g neovim
nvim
Run nvim
and wait for the plugins to be installed
NOTE: (You will notice treesitter pulling in a bunch of parsers the next time you open Neovim)
each video will be associated with a branch so checkout the one you are interested in
rm -rf ~/.config/nvim
rm -rf ~/.local/share/nvim
rm -rf ~/.cache/nvim
Open nvim
and enter the following:
:checkhealth
You'll probably notice you don't have support for copy/paste also that python and node haven't been setup
So let's fix that
First we'll fix copy/paste
-
On mac
pbcopy
should be builtin -
On Ubuntu
sudo apt install xsel
-
On Arch Linux
sudo pacman -S xsel
Next we need to install python support (node is optional)
-
Neovim python support
pip install pynvim
-
Neovim node support
npm i -g neovim
After moving fonts to ~/.local/share/fonts/
Run: $ fc-cache -f -v
NOTE: (If you are seeing boxes without icons, try changing this line from false
to true
: link)
git clone git@github.com:microsoft/java-debug.git
cd java-debug/
./mvnw clean install
git clone git@github.com:microsoft/vscode-java-test.git
cd vscode-java-test
npm install
npm run build-plugin
mkdir -p ~/.local/bin
curl -L https://github.com/rust-analyzer/rust-analyzer/releases/latest/download/rust-analyzer-x86_64-unknown-linux-gnu.gz | gunzip -c - > ~/.local/bin/rust-analyzer
chmod +x ~/.local/bin/rust-analyzer
Below are some packages that could need some more love and attention to get the optimal developer experience.
-
Neogit
,DiffView
,gitfugitive
-
buffer
and navigation -
Windows
-
ToggleTerm
-
Remote development
-
Search online (vim, Rustdoc, ect)
-
display errors inline
-
Gitlens and GitKracken
-
Quickly run something in terminal buffer
-
VimWiki
-
vifm/vifm
-
vimagit
-
vim-minimap
-
nvim fold sections
-
ap/vim-css-colors
-
tpope/vim-surround
-
Git workflow (merge, diff, push, log, pull, commit id, stash, comment)
-
Bookmark
-
Inline comments
-
Which key (make sure that searching works with which key)
-
regex
-
lua config
-
search and replace
-
macros (norm mode)
-
vim navigation (horizontal and vertical)
-
:help section
-
Spell check
-
abbreviation file (
-
Update nvim-biscuit
-
Bookmarks, save and load workspaces / windows
-
inline notes
-
Read man pages / documentation from vim