Skip to content

doomtickle/nvim

Repository files navigation

Daronatron NVim

A super opinionated starter to get up and running with NeoVim exactly like I do.

You will need to make sure you have the appropriate language servers installed. My settings expect gopls, eslint, and tsserver. If you do not have these installed globally on your local machine, you'll need to do so before following the quick start.

go install golang.org/x/tools/gopls@latest

npm install -g eslint

npm install -g --save typescript

Quickstart for Mac

  1. brew install neovim
  2. mkdir $HOME/.config/nvim/ && cd $HOME/.config/nvim
  3. git clone https://github.com/doomtickle/nvim .
  4. sh -c 'curl -fLo "${XDG_DATA_HOME:-$HOME/.local/share}"/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim'
  5. nvim +PlugInstall +qall

Summary

Daronatron Nvim is comprised of all the Neovim settings, themes, plugins, and keybindings that I use in my daily workflow. It is meant as a reference or jumping-off-point for anyone looking to have a modern, solid Neovim setup with little to no effort.

Disclaimer

I have tried to comment all of the config files extensively so that you may remove anything that is not to your taste. I frequently change things in here and am not always great about documenting them.

You have been warned.

To get the most out of this setup, you should familiarize yourself with the Neovim docs as much as possible.

init.vim

The first file that Neovim calls is init.vim. The init.vim in this repo sources other files in the directory. This gives us some separation between the various parts of our vim config and allows us to maintain them easier. We'll go over each of them below.

plugins.vim

As its name implies, this is where we'll list any plugins that we'll want to include on startup.

This package assumes you will use vim-plug as a plugin manager. If you would like to change this, simply edit your plugins.vim to reflect the requirements of your package manager.

The plugins used in the current setup are:

The configuration and keybindings for these plugins live in various places throughout the repo, but for the most part have been taken directly from each plugin's documentation.

sets.vim

Handles getting a sane starter with all the stuff like I like. This is also where I set the <leader> key to <space>. To see what other options you have, visit the Neovim docs or type :help nvim from inside Neovim.

setup.lua

Where I have the configs, scripts, and (some) keybindings for my plugins.

Some knowledge of lua is required.

auto_commands/auto_commands.vim

Where you will create autocommands and groups of autocommands to run during certain events that neovim fires. The world is your oyster here. I've added a single group to this repo, but the idea is to group your autocommands by event and source them from higher up in the tree. More to come on this...

variables.vim

Neovim allows you to set global variables that your plugins and scripts can look up at any time. I've separated this out and commented it heavily so you can see what's going on.

keybindings.vim

Keybinding Description
<leader>; Go to next buffer
<leader>a Go previous buffer
<leader>vs Split screen vertically
<leader>w Force save buffer
<leader>q Force save buffer and exit
<leader>- Delete current buffer without saving
<leader>b Search open buffers
<leader>f Search files (respects .gitignore)
<CTRL+[h,j,k,l]> Navigate split windows
- Toggle NerdTree

colorscheme

Currently comes with two colorschemes. A light colorscheme that I based off of vim-colors-github, with a few modifications, and a dark theme based on OneDark.

To switch colorschemes, type :colo [color_file_name] from inside nvim. For example:

:colo onedark

About

Solid neovim configuration to get you going.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •