Carefully over-engineered .vimrc
for simple edits or full IDE.
Make a versatile Vim config for everyday use. Make it fast, simple, and nice-looking for simple single-file edits. Make it robust, featureful, and intuitive for living in projects (mostly C/C++).
- Organizes .vimrc into well-commented sections.
- Strives to use simple, meaningful keymaps for all common tasks.
- Brings up well-organized keymaps chart with
<leader>-/
. - Makes visual presentation of installed plugins obvious and useful.
- Vim load time under 150 ms.
The .vimrc
is organized into the following searchable sections. Plugins are
configured in the appropriate section:
- PLUGIN MANAGER
- VIM INIT
- LEADER KEY
- VIM CONFIG FILES
- TERMINAL BEHAVIOR
- AUTOREAD EVENTS
- VIM START SCREEN
- VIM SAVE STATES
- HELP
- MODE SWITCH
- NAVIGATION
- MARKS
- BUFFERS
- SPLITS
- QUICKFIX
- FILETYPES
- FONTS / COLORS
- CURSOR / LINE / COL HIGHLIGHTING
- LINE / CHAR DISPLAY
- CMD BAR
- STATUSLINE
- FILE BROWSER
- FILE FINDING / OPENING
- TEXT SEARCH / REPLACE
- EDITING
- SNIPPETS
- INDENTS / TABS
- COPY / PASTE
- UNDO / REDO
- CODE SYNTAX
- AUTOCOMPLETION
- VCS SUPPORT
- MISC KEYMAPS
The Vim configuration is contained in the .vimrc
and in supporting files in
the .vim
directory. Both are intended to be placed in the user's home
directory:
├─┬ vimrc-omega/
│ ├── .github/ # project readme, related github files
│ ├─┬ .vim/
│ │ ├── after/ # post-plugin-load config
│ │ ├── doc/ # keymaps
│ │ ├── ftplugin/ # config for specific file-types
│ │ ├── snippet/ # snippet templates for various file-types
│ │ └── undos/ # empty directory to hold per-file undo history
│ ├── .gitignore # local ignores
│ └── .vimrc # main vim config
- Vim 8+ with timers enabled or Neovim 0.3.0+
- a truecolor terminal
- Python 3.6.1+
- pynvim
- python-msgpack
- fzf
- ag (the silver searcher) or ripgrep
- ctags
- clang
- shellcheck (optional, for linting)
- cmakelint (optional, for linting)
-
Clone project from github:
$ git clone https://github.com/digimokan/vimrc-omega
-
Copy
.vimrc
and.vim
directory into home directory:$ cp -r vimrc-omega/.vimrc vimrc-omega/.vim $HOME
-
Vim is ready to use. You may remove the cloned
vimrc-omega
directory. Plugins will be installed automatically when Vim is run for the first time. -
The default
<leader>
key isSPACEBAR
. Keymaps and associated plugin features can be viewed with<leader>-/
.
See keymaps.txt for keymaps and associated plugin features.
- Feel free to report a bug or propose a feature by opening a new Issue.
- Follow the project's Contributing guidelines.
- Respect the project's Code Of Conduct.