Thanks to visit codestin.com
Credit goes to github.com

Skip to content

vinnydiehl/nvim-config

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

My Neovim Config

This is my personal Neovim configuration. I have it on here mostly to sync between my computers, but it is public if anyone is interested. This is very much intended to be an IDE-like setup useful across many languages, with a large spectrum of features built around a <space> leader key.

Install

This configuration is built upon the version of Neovim in the Arch Extra Repository. You may need to use an AppImage or build from source if the nightly builds are not available on your package manager.

Dependencies

Optional, for Haskell:

For Rust test support, you will need to cargo install cargo-nextest.

Setup

Clone this repo into the config location:

git clone https://github.com/vinnydiehl/nvim-config.git ~/.config/nvim

Install Packer:

git clone --depth 1 https://github.com/wbthomason/packer.nvim\
 ~/.local/share/nvim/site/pack/packer/start/packer.nvim

Before launching for the first time, move the after/ directory out of there to avoid a bunch of errors from uninstalled plugins being called:

mv ~/.config/nvim/after ~/aftertmp

Launch Neovim and run :PackerSync, wait for everything to finish, and then move the after/ directory back into place:

mv ~/aftertmp ~/.config/nvim/after

Relaunch Neovim and it will install a few basic LSPs. You can see which LSPs are installed in the lsp.ensure_installed() call near the top of this file- if you would like to manage these manually, you can remove this entire function call and manage your LSPs with :Mason.

Caveats

This is not a community project, but might be a good starting point for someone who would like a fully featured vim setup. Adjust to your preferences.

One thing that is specific to my setup is that I keep my all of my projects in a ~/src directory; this as well as ~/.config/nvim and ~/.config/zsh are indexed by the project browser. You can set which directories are indexed by the project browser in this file:

    repo = {
      list = {
        search_dirs = {
          "~/src",
          "~/.config/nvim",
          "~/.config/zsh"
        }
      },
      settings = { auto_lcd = true }
    }

If you remove the entire list attribute, it will index your entire home directory. Leaving auto_lcd in place is recommended as it changes Neovim's working directory when you switch projects, allowing fuzzy finding to work as if you had launched from the project's root.

I also use kitty as my terminal emulator. This is only relevant when launching a C/C++ program in a separate window with <leader>cR.

About

My Neovim configuration.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages