Over the last years, I have been using Vim as my default Text Editor. It helped me to improve my productivity and it's fully customizable. Hope it can help you.
This repository was inspired by the vim configuration provided by amix
In order to make every plugin work, the following stuff need to be installed:
- Install nodejs and yarn as requirements for coc.vim
- Install fzf as a requirement for fzf.vim
- Install The silver searcher as a requirement for Ag.vim
- Install py >=2.6 or any py3 as a requirement for UltiSnips
To install the configuration, use the following commands:
git clone --recurse-submodules -j8 [email protected]:GAKINDUSTRIES/vim-environment.git
sh ~/.vim-environment/install.sh
-j8 is an optional performance optimization that became available in version 2.8, and fetches up to 8 submodules at a time in parallel
After you run install.sh
script, you need to install Coc plugin from inside Vim. To do this run the following command inside Vim:
:call coc#util#install()
This will install Coc. After that, you need to add coc-snippets
plugin for snipMate integration. To do this, run the following command:
:CocInstall coc-snippets
If you have vim aliased as vi
instead of vim
, make sure to either alias it: alias vi=vim
. Otherwise, apt-get install vim
I highly recommend reading the documentation of each plugin. You may find useful information and mappings.
- ack.vim: Vim plugin for the Perl module / CLI script 'ack'
- ag.vim: A much faster Ack
- ale.vim: Check syntax in Vim asynchronously and fix files, with Language Server Protocol (LSP) support.
- auto pairs.vim: Insert or delete brackets, parens, quotes in pair
- bufexplorer.zip: Buffer Explorer / Browser. This plugin can be opened with
<leader+o>
- coc.vim: Intellisense engine for vim8 & neovim
- emmet.vim: Support for expanding abbreviations for HTML & CSS
- fzf.vim: Fzf is a general-purpose command-line fuzzy finder
- goyo.vim and vim-zenroom2: Remove all clutter and focus only on the essential. Similar to iA Writer or Write Room Read more here
- IndentLine.vim: Display the indention levels with thin vertical lines.
- limelight.vim Hyper-focus writing in vim
- NERD Tree: A tree explorer plugin for vim
- open_file_under_cursor.vim: Open file under cursor when pressing
gf
- pathogen.vim: Manages the runtime path of the plugins
- mru.vim: Plugin to manage Most Recently Used (MRU) files. Includes my own fork which adds syntax highlighting to MRU. This plugin can be opened with
<leader+f>
- ultisnips: The ultimate snippet solution for Vim. Send pull requests to SirVer/ultisnips!
- vim-arpeggio: Plugin that allow you to map commands to multi-keystrokes
- vim-commentary: Comment stuff out. Use
gcc
to comment out a line (takes a count),gc
to comment out the target of a motion.gcu
uncomments a set of adjacent commented lines. - vim-easymotion.vim: Provides a much simpler way to use some motions in vim
- vim-endwise: Helps to end certain structures automatically
- vim-expand-region: Allows you to visually select increasingly larger regions of text using the same key combination.
- vim-fugitive: A Git wrapper so awesome, it should be illegal
- vim-gitgutter: Plugin which shows a git diff in the 'gutter' (sign column)
- vim-snippets: contains snippets files for various programming languages.
- vim-surround: Surround.vim is all about "surroundings": parentheses, brackets, quotes, XML tags, and more
- vim-visual-multi: Multiple cursors project for vim/neovim (wip)
- vimux: Easily interact with tmux from vim.
- ayu-vim: Light, mirage (prefered) and dark themes.
- lightline: A light and configurable statusline/tabline for Vim.
- onehalf: A coloscheme based on Atom's one.
- palenlight: A dark color scheme for Vim/Neovim based off the Material Pale Night color scheme. (my favourite)
- vim-solarized8: This is yet another Solarized theme.
- nord-vim An arctic, north-bluish clean and elegant Vim color theme.
- vim-hybrid: A dark colour scheme that combines the best of many plugins.
Here are a few screenshots to see how it looks:
Palenlight
onehalf
nord
solarized8_flat
ayu
The modes included give support to the programming languages that I used to work with. You can remove any of them if you don't use it or add new ones.
- vim-coffee-script: Syntax highlight for CoffeeScript
- vim-javascript: Provides syntax highlighting and improved indentation.
- vim-jsx: Syntax highlighting and indenting for JSX
- vim-pug: Syntax highlight for Jade
- vim-less: Syntax highlighting, indenting and autocompletion for LESS
- vim-markdown: Folding
- nginx.vim: Highlights configuration files for nginx
- vim-go:Adds Go language support for Vim
- vim-bundler: This is a lightweight bag of Vim goodies for Bundler, best accompanied by rake.vim and/or rails.vim.
- vim-rails: Vim plugin for editing Ruby on Rails applications.While not strictly necessary, bundler.vim and dispatch.vim are installed as dependencies.
After you have installed the setup you can create ~/.vim_runtime/my_configs.vim to fill in any configurations that are important for you.
You can also install your own plugins via pathogen.
Find a list of the most useful mappings here