Giter VIP home page Giter VIP logo

zenentreadwell / neovim-init.vim Goto Github PK

View Code? Open in Web Editor NEW

This project forked from optixal/neovim-init.vim

0.0 1.0 0.0 1.15 MB

:izakaya_lantern: The perfect Neovim configuration for productive people who wants to level up their Vim experience with a clean, minimal-looking aesthetic, as well as a highly extensible, easily customizable set of popular tools and shortcuts to boost productivity. :izakaya_lantern:

Vim Script 71.77% Shell 28.23%

neovim-init.vim's Introduction

Optixal's Neovim init.vim

Normal usage.

Normal Usage Example

Minimal, focussed sessions with Goyo.

Goyo Minimal Example

Multi-windowed editing with NerdTree and TagBar sidebars.

Multi-Window Example

Installing and Updating

Install

Automated Installation

Run ./install.sh

Manual Installation

#!/bin/bash -e

# Make config directory for Neovim's init.vim
mkdir -p ~/.config/nvim

# Install nvim (and its dependencies: pip3, git), Python 3 and ctags (for tagbar)
sudo apt update
sudo apt install neovim python3 python3-pip git curl exuberant-ctags -y

# Install virtualenv to containerize dependencies
python3 -m pip install virtualenv
python3 -m virtualenv -p python3 ~/.config/nvim/env

# Install pip modules for Neovim within the virtual environment created
source ~/.config/nvim/env/bin/activate
pip install neovim==0.2.6 jedi psutil setproctitle yapf
deactivate

# Install vim-plug plugin manager
curl -fLo ~/.local/share/nvim/site/autoload/plug.vim --create-dirs https://raw.githubusercontent.com/junegunn/vim-plug/master/plug.vim

# (Optional but recommended) Install a nerd font for icons and a beautiful airline bar (https://github.com/ryanoasis/nerd-fonts/tree/master/patched-fonts) (I'll be using Iosevka for Powerline)
curl -fLo ~/.fonts/Iosevka\ Term\ Nerd\ Font\ Complete.ttf --create-dirs https://github.com/ryanoasis/nerd-fonts/raw/master/patched-fonts/Iosevka/Regular/complete/Iosevka%20Term%20Nerd%20Font%20Complete.ttf

# (Optional) Alias vim -> nvim
echo "alias vim='nvim'" >> ~/.bashrc

# Enter Neovim and install plugins using a temporary init.vim, which avoids warnings about missing colorschemes, functions, etc
sed '/call plug#end/q' init.vim > ~/.config/nvim/init.vim
nvim -c ':PlugInstall' -c ':UpdateRemotePlugins' -c ':qall'
rm ~/.config/nvim/init.vim

# Copy init.vim in current working directory to nvim's config location ...
cp init.vim ~/.config/nvim/

Update

Update plugins (super simple)

nvim
:PlugUpdate

(Optional) Clean plugins - Deletes unused plugins

nvim
:PlugClean

(Optional) Check, download and install the latest vim-plug

nvim
:PlugUpgrade

(Optional) Pull my updates if you want my new modifications

git pull
cp init.vim ~/.config/nvim/

Note

For Non-GUI Users

  • Colorschemes may not be rendered
  • Changing fonts may be harder (https://unix.stackexchange.com/a/49823), if you do not intend to do customize your font, you should uncomment the devicons plugin within "init.vim" (" Plug 'ryanoasis/vim-devicons')

Mapped Commands in Normal Mode

Most custom commands expand off my map leader, keeping nvim as vanilla as possible.

  • , - Map leader, nearly all my custom mappings starts with pressing the comma key
  • ,q - Sidebar filetree viewer (NERDTree)
  • ,w - Sidebar classes, functions, variables list (TagBar)
  • \ - Toggle both NERDTree and TagBar
  • ,ee - Change colorscheme (with fzf fuzzy finder)
  • ,ea - Change Airline theme
  • ,e1 - Color mode: Dracula (Dark)
  • ,e2 - Color mode: Seoul256 (Between Dark & Light)
  • ,e3 - Color mode: Forgotten (Light)
  • ,e4 - Color mode: Zazen (Black & White)
  • ,r - Refresh/source ~/.config/nvim/init.vim
  • ,t - Trim all trailing whitespaces
  • ,a - Auto align variables (vim-easy-align), eg. do ,a= while your cursor is on a bunch of variables to align their equal signs
  • ,s - New terminal in horizontal split
  • ,vs - New terminal in vertical split
  • ,d - Automatically generate Python docstrings while cursor is hovering above a function or class
  • ,f - Fuzzy find a file (fzf)
  • ,g - Toggle Goyo mode (Goyo), super clean and minimalistic viewing mode
  • ,h - Toggle rainbow parentheses highlighting
  • ,j - Set filetype to "journal" which makes the syntax highlighting beautiful when working on regular text files and markdown
  • ,k - Toggle coloring of hex colors
  • ,l - Toggle Limelight mode (Limelight), highlight the lines near cursor only
  • ,c<Space> - Toggle comment for current line (Nerd Commenter)
  • <Alt-r> - Toggle RGB color picker
  • <Tab> - Next buffer
  • <Shift-Tab> - Previous buffer

More commmands at https://github.com/Optixal/.vim/blob/master/reference/commands_vim.txt

neovim-init.vim's People

Contributors

optixal avatar tupini07 avatar attila-m avatar

Watchers

James Cloos avatar

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.