-
Notifications
You must be signed in to change notification settings - Fork 7
Home
VimMic is well-documented vim configuration along with a set of plugins for the Vim text editor. It stand for Vim Make It Clever and is aimed to keep this editor light and efficient. It should be easy to use for anyone who is familiar with Vim.
Note we highly recommend to backup your previous .vimrc
if not already done
as we are going to erase it through the installation process.
We highly recommend having a Vim build supporting Python. To check if Python
is supported, run: vim --version | grep python
and see if +python[...]
is
present.
Dependencies listed here are recommended but not required for all plugins:
-
flake8 is used by the plugin for Python
flake8-vim. Install it through pip:
pip install --user flake8
. - ctags installed for better completion / code search support. Consider using Universal Ctags which is more up-to-date.
Quick installation script:
DIRNAME=".vimmic"
cd ~
git clone --recursive https://github.com/CharlesGueunet/vimmic.git "${DIRNAME}"
ln -sf "${DIRNAME}"/.vimrc .
Notice you can use whatever you want in $DIRNAME
, as long as you do not
modify the directory path afterward (as it may break the symbolic link).
If you want to update all plugins at once, simply run :Update
in Vim.
For those who would like to try with neovim, use the following snippet to link your vim configuration with your neovim configuration:
mkdir -p ${XDG_CONFIG_HOME:=$HOME/.config}
ln -s ~/.vim $XDG_CONFIG_HOME/nvim
ln -s ~/.vimrc $XDG_CONFIG_HOME/nvim/init.vim
- The default Leader Key is
,
. - You can press
;
instead of:
- If you want persistant undo (survive vim restart) create a
.undodir/
folder in the Vimmic installation folder. - If you want to display saved session at Vim startup, save them in
sessions/
folder in the Vimmic installation folder. - You can see the Vimmic keymap with the command:
:map
.
You may need to restart Vim for your changes to the configuration to apply.
Please read the list of plugins mapping and the plugin configuration documentations as they are well documented and provide many tips and tricks!
If you want to disable / enable plugins, you can use the $HOME/.vimrc.preconf
file to force our plugin manager (Dein) to add / remove a plugin. More details
are available in the sample in extra/.vimrc.preconf.sample
.
Do not forget to reload your configuration by:
- restarting vim
- running
:Update
- restarting vim again.
All plugins are configured in their own files in config/plugins/
.
Other files do not affect them (the .vimrc load them)
.vimmic/ # Vimmic install directory
.vimrc # Loads Vimmic environment, configuration and plugins
config/
editor.vim # Original vim config (files, buffers, search...)
shortcuts.vim # Defines some shortcuts on the original vim functionalities
functions.vim # Some cool functions to update all plugins, fold, debug...
plugins/ # per-plugin related configuration. Files should use the following sections:
# Settings: Plugin related settings and variable
# Shortcuts: Mapping for this plugin
# Theme: Colors configuration for this plugin
We also use two other files defined in the user home directory (you can see
examples of those files in the extra/
directory):
-
$HOME/.vimrc.preconf
: tweak vimmic by adding or disabling plugins, changing the leader key, disabling part of the configuration... -
$HOPE/.vimrc.postconf
: override plugins configuration, change themes, add your own features...
This configuration have started by a look at spf13, another vim distribution. spf13 is great but heavy so I decided to make my own configuration much lighter.
For the navigation and some highlight, I used advices of this post
Lots of idea where taken from the jetbrains ide wich are among the best ones.
For those who want to use space as the leader key, this website could be usefull.
For later, build tools and shortcut might come from this conf.
Another great website about vim plugins is vimawesome.
Some tricks about buffer and viml evaluation come from this dotfile.
This git is maintained by Charles Gueunet <[email protected]>
Copyright (C) 2016 Charles Gueunet
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.