Giter Site home page Giter Site logo

nvim-config's Introduction

Nikolai's Nvim Config

Nikolai Config

Motivation

My NeoVim setup that is meant to improve some quality of life functionality while still retaining the overall sleekness the NeoVim offers.

This process helped me learn more about various aspects of this program such as defining shortcuts and control remapping. Another powerful feature was defining TAB completion of the snippets and paths.

NOTE:

This configuration is by no means perfect and will continue to be updated as my work-flow evolves.

A fancy one-liner

bash <(curl -s https://raw.githubusercontent.com/OkelleyDevelopment/Nvim-Config/master/util/install.sh)

Prerequisites

You will need the following installed:

  • NeoVim
        sudo apt install neovim
  • NPM
    sudo apt install npm
  • PIP
sudo apt install python3-pip
  • Python and Node Support
pip install pynvim

npm i -g neovim
  • VimPlug
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim
  • Clang

Setting the Config

Inside ~/.config/, run the commands:

mkdir nvim

git clone https://github.com/OkelleyDevelopment/Nvim-Configs.git

mv ~/.config/Nvim-Configs/* ~/.config/nvim/

Ensure the .git folder moved over too and you will have the needed assets.

Enable Plugins

Inside /.config/nvim/, open ./vim-plug/plugins.vim and run

:PlugInstall

Upon neovim restart the plugins will be enabled.

Syntax Support

To enable the proper syntax support,

:CocInstall <plugin name here>

Followed by any/all the following

  • coc-yaml
  • coc-tsserver
  • coc-tslint
  • coc-sh
  • coc-rls
  • coc-python
  • coc-java
  • coc-html
  • coc-explorer
  • coc-css
  • coc-clnagd
  • coc-prettier
  • coc-snippets

NOTE: If you wish to see what CoC extensions exist run this:

:CocInstall coc-marketplace

:CocList marketplace

Adding Plugins

  1. Locate your chosen plugin's plug command
  2. Add it to the file in ./vim-plug/plugins.vim
  3. Save and quit
  4. Make any plugin specific configurations in ./plug-config/ and source in ./init.vim
  5. Then run the command :PlugInstall
    • Note: My file has an autoload function when opening Nvim, so you may not have to run that command explicitly

Adding Themes

  1. Locate the Plug command for the theme
  2. Add it to the file in ./vim-plug/plugins.vim
  3. Save and quit
  4. Make any plugin specifc configurations in ./themes/ <name of theme>.vim and source in ./init.vim

Key Mappings

All the key mappings are sourced through init.vim and can be easily remapped in the ./keys/ directory.

For help learning how to map keys check out this article.

Custom Snippets

This is easily one of the coolest parts of this setup. Coc-snippets allows the user to have access to a wide range of code snippets (common operations/setups in various languages).

Check this link to learn more.

If you want to create your own snippets, add a file in the ./snips/ directory with the following naming scheme:

<language name goes here>.snippets

Then adding the snippet is a matter of following the instructions on the coc-snippets GitHub.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.