Awesome
ivim - An easy & highly customizable vim configuration
_ _
(_) __(_)___ ___
/ / | / / / __ `__ \
/ /| |/ / / / / / / /
/_/ |___/_/_/ /_/ /_/
Version: 3.0
After about 7 years' development, ivim contains 2 versions to satisfy different requirements.
- ivim: highly customizable vim configuration, and it has more colorschemes and settings. (Not maintained)
- ivim_mini: vim configuration with fast startup time and convenient usage, compatible with Vim 8.0+ and NeoVim. (Recommended)
If you love ivim, welcome to buy me a cup of coffee :coffee:. Thx!!!
Features
Beautiful
Use lots of famous colorschemes to make your eyes feel comfortable in both Vim and NeoVim.
- ivim
Colorscheme: Hybrid
- ivim_mini
Colorscheme: Nord
You could install the patched font from nerd-fonts (Example to install patched font in Mac could be found here).
Efficient
- Make using Vim more convenient and faster, and lots of useful plugins confirm a better performance of Vim.
Plugin List
-
UI Setting
- kristijanhusak/vim-hybrid-material - Colorscheme hybrid material
- morhetz/gruvbox - Colorscheme gruvbox
- jacoborus/tender.vim - Colorscheme tender
- vim-airline/vim-airline - Status line
- vim-airline/vim-airline-themes - Status line themes
- Yggdroot/indentLine - Indentation level
- ryanoasis/vim-devicons - Devicons
- bling/vim-bufferline - Buffer line
- mhinz/vim-startify - Start page
- junegunn/goyo.vim - Distraction-free
- junegunn/limelight.vim - Hyperfocus-writing
-
Enhancement
- Raimondi/delimitMate - Closing of quotes
- tomtom/tcomment_vim - Commenter
- tpope/vim-abolish - Abolish
- tpope/vim-speeddating - Speed dating
- tpope/vim-repeat - Repeat
- terryma/vim-multiple-cursors - Multiple cursors
- junegunn/vim-slash - In-buffer search
- mbbill/undotree - Undo tree
- tpope/vim-surround - Surround
- junegunn/vim-easy-align - Easy align
- ludovicchabant/vim-gutentags - Manage tag files
- AndrewRadev/splitjoin.vim - Splitjoin
- sickill/vim-pasta - Vim pasta
- Keithbsmiley/investigate.vim - Helper
- wikitopian/hardmode - Hard mode
- wellle/targets.vim - Text objects
- roman/golden-ratio - Resize windows
- chrisbra/vim-diff-enhanced - Create better diffs
-
Moving
- tpope/vim-unimpaired - Pairs of mappings
- Lokaltog/vim-easymotion - Easy motion
- kepbod/quick-scope - Quick scope
- yuttie/comfortable-motion.vim - Comfortable motion
- bkad/CamelCaseMotion - Camel case motion
- majutsushi/tagbar - Tag bar
- junegunn/fzf - Fuzzy finder
- junegunn/fzf.vim - Fuzzy finder plugin
-
Navigation
- scrooloose/nerdtree - NERD tree
- Xuyuanp/nerdtree-git-plugin - NERD tree git plugin
- mhinz/vim-tmuxify - Tmux panes
-
Completion
- Under NEO
- Shougo/neocomplete.vim - Auto completion framework with Lua
- Shougo/neocomplcache.vim - Auto completion framework without Lua
- Shougo/neosnippet.vim - Snippet engine
- Shougo/neosnippet-snippets - Snippets
- Shougo/vimproc.vim - Interactive command execution
- wellle/tmux-complete.vim - Completion for tmux panes
- Under YouCompleteMe
- Valloric/YouCompleteMe -Auto completion framework
- honza/vim-snippets - Snippets
- sirver/ultisnips - Snippet engine
- Under NEO
-
Compiling
- scrooloose/syntastic - Syntax checking
- xuhdev/SingleCompile - Single compile
-
Git
- tpope/vim-fugitive - Git wrapper
- junegunn/gv.vim - A git commit browser
- airblade/vim-gitgutter - Git diff sign
-
Language Specificity
- davidhalter/jedi-vim - Python jedi plugin
- fatih/vim-go - Golang
- tpope/vim-rails - Rails
- mattn/emmet-vim - Emmet
- LaTeX-Box-Team/LaTeX-Box - LaTex
- sheerun/vim-polyglot - Language Support
Requirements
Vim
- This distribution is adapted to both Vim and NeoVim. For Vim, version should be 7.3+, and 8.0+ is recommended. For NeoVim, 0.1.5+ is recommended.
Git
- All the installations are based on Git which is a famous distributed revision control system. If you use Windows, you may need install msysgit.
Ctags
- Ctags generates an index (or tag) file of language objects found in source files that allows these items to be quickly and easily located by a text editor or other utility. I recommend you to use Exuberant Ctags.
To use this distribution with less bugs, please get more suggestions from here.
Installation
bash <(curl -L https://raw.githubusercontent.com/kepbod/ivim/master/setup.sh) -i
# or
bash <(wget --no-check-certificate https://raw.githubusercontent.com/kepbod/ivim/master/setup.sh -O -) -i
- ivim_mini for vim
bash <(curl -L https://raw.githubusercontent.com/kepbod/ivim/master/setup.sh) -m
# or
bash <(wget --no-check-certificate https://raw.githubusercontent.com/kepbod/ivim/master/setup.sh -O -) -m
- ivim_mini for neovim
bash <(curl -L https://raw.githubusercontent.com/kepbod/ivim/master/setup.sh) -u
# or
bash <(wget --no-check-certificate https://raw.githubusercontent.com/kepbod/ivim/master/setup.sh -O -) -u
Updating
bash $HOME/.ivim/setup.sh -n
Configuration
- This distribution is completely customisable using
~/.vimrc.ivim.local
,~/.vimrc.local
,~/.gvimrc.local
and~/.vimrc.bundles.local
! (only forvimrc
) - To make full use of auto-completion and syntax checking, please refer wiki.
Contributation
Welcome to contribute to ivim, see issue #31 for details. Thank you very much for your supporting!
Vim Tips
Learning Vim
-
A good learning method of Vim is vimtutor, a 30 minute tutorial that teaches the most basic Vim functionality hands-on.
To try it, just type
vimtutor
on terminal. -
To practice vim skills, you can enable hard mode, and it will disable the arrow keys, the 'hjkl' keys, the page up/down keys, and a handful of other keys which allow one to rely on character-wise navigation.
To enable it, just type
:call HardMode()
in normal mode. -
Another way to get familiar with Vim commands and settings is just rely on the strong help system of Vim.
It's easy and convenient to type
:h
or:help
in Vim for help of whatever you want to know. -
A beautiful Vim cheat sheet is available here. If you want one, just click it!
Key Mappings
-
Because I have set some key mappings for more convenient typing and checking, you may feel inconvenient with them at start. But if you get familiar with them, I'm sure you will love them.
You can just type
:map
in Vim to see them.
More Tips
- Vim_Tips_Wiki is an excellent website, and you can learn much from it.
- Vimcasts publishes free screencasts about Vim. It's useful and interesting! Believe me!
Hope You Enjoy Vimming!!!
License
Copyright (C) 2012-2019 Xiao-Ou Zhang. See the LICENSE file for license rights and limitations (MIT).