VSCode alternative that is blazing fast
git clone [email protected]:casonadams/nvim-code.git ~/.config/nvim-code~/.local/bin/nvim-code
- Backs up current ~/.config/nvim dir
- Creates sym link to cloned repo and nvim
#!/usr/bin/env bash
export NVIM_CONFIG="${NVIM_CONFIG:-${HOME}/.config/nvim-code}"
mv ${HOME}/.config/nvim ${HOME}/.config/nvim.bak
ln -sf ${NVIM_CONFIG} ${HOME}/.config/nvim
exec nvim -u "${NVIM_CONFIG}/init.lua" "$@"chmod +x ~/.local/bin/nvim-code
~/.local/bin/nvim-code
Open nvim and install and update plugins with :PackerSync Close and reopen
nvim to install treesitter settings
alacritty-shell setups up addional
colors in the terminal. Index 18 is used for the statusline background, and
Index 16 is used for orange in some color schemes for walh. This can get setup
using alacritty,
256 colorscheme
can be copy pasted.
# Base16 Gruvbox dark, medium 256 - alacritty color config
# Dawid Kurek ([email protected]), morhetz (https://github.com/morhetz/gruvbox)
colors:
# Default colors
primary:
background: "0x282828"
foreground: "0xd5c4a1"
# Colors the cursor will use if `custom_cursor_colors` is true
cursor:
text: "0x282828"
cursor: "0xd5c4a1"
# Normal colors
normal:
black: "0x282828"
red: "0xfb4934"
green: "0xb8bb26"
yellow: "0xfabd2f"
blue: "0x83a598"
magenta: "0xd3869b"
cyan: "0x8ec07c"
white: "0xd5c4a1"
# Bright colors
bright:
black: "0x665c54"
red: "0xfb4934"
green: "0xb8bb26"
yellow: "0xfabd2f"
blue: "0x83a598"
magenta: "0xd3869b"
cyan: "0x8ec07c"
white: "0xfbf1c7"
indexed_colors:
- { index: 16, color: "0xfe8019" }
- { index: 17, color: "0xd65d0e" }
- { index: 18, color: "0x3c3836" }
- { index: 19, color: "0x504945" }
- { index: 20, color: "0xbdae93" }
- { index: 21, color: "0xebdbb2" }-
Note this setup is configured for lazy loading of plugins. Meaning plugins won't be used unless the filetype matches with settings in the
after/ftplugindir. It has its cons opening amarkdownfile and then:e rustfilewon't enable lsp for rust file. To get around this put all null-ls config inafter/ftplugin/config intolua/_null-ls.luaand require that ininit.lua -
Have a look at lua/_null-ls.lua for some examples (when using null-ls you will need to download the required applications for it to work)
:LspInstallInfo
iinstalls serveruupdates server?toggles commands
| Key Combo | Description |
|---|---|
Normal mode Space |
Displays all key mappings |
Normal mode H |
Previous Buffer |
Normal mode L |
Next Buffer |
Normal mode Ctrl + h |
Window left |
Normal mode Ctrl + j |
Window down |
Normal mode Ctrl + k |
Window up |
Normal mode Ctrl + l |
Window right |
Normal mode tab |
Tab next |
Normal mode Shift tab |
Tab previous |
Normal mode gd |
Go to def |
Normal mode gl |
Show line diagnostics |
Normal mode K |
Show doc hover |
Normal mode Space lf |
Format command |
Normal mode Space lr |
Rename command |
Normal mode Space x |
Keep layout remove buffer |
Normal mode Space t % |
Open terminal vsplit |
Normal mode Space t " |
Open terminal split |
Normal mode Space z |
Toggle zoom |