Skip to content
🎨 Simplify your .vimrc and make the default vim better
Vim script
Branch: master
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
plugin Eliminate the extra trailing dots for folded lines Nov 10, 2019
.gitignore add README Oct 31, 2016
LICENSE content improvement Nov 1, 2016 Set noundofile as default. Jun 29, 2017


There are some general settings for convenience in almost everyone's .vimrc file. Let's shorten your .vimrc and make the default vim better.


  • Out-of-the-box: address a ton of deficiencies of the default vim configurations that nearly everyone can agree upon.

  • Mnemonic key bindings: commands have mnemonic prefixes like <Leader> b for the buffer commands or <Leader> w for the window commands. SPC key is recommended as the leader key. You could also see the key bindings in wiki.

If new to Vim, you can install vim-better-default as a starting point, rather than copying some random vimrc you found.

If you have been a vimmer for quit a while, please see default.vim directly. In the beginning vim-better-default is intended for simplifying the tedious .vimrc file, so you may also use it to shorten your .vimrc.


This plugin can be installed with a varity of plugin managers, such as:

  • Vundle
    • Add Plugin 'liuchengxu/vim-better-default to .vimrc
    • Run :source $MYVIMRC and :PluginInstall
  • Plug
    • Add Plug 'liuchengxu/vim-better-default to .vimrc
    • Run :source $MYVIMRC and :PlugInstall


Option Description Default
vim_better_default_minimum Only add essential funationalities 0
vim_better_default_backup_on Set backup 0
vim_better_default_persistent_undo Persistent undo 0
vim_better_default_enable_folding Enable fold 1
vim_better_default_key_mapping Whole key (re)mappings 1
vim_better_default_basic_key_mapping Basic key (re)mappings 1
vim_better_default_buffer_key_mapping Buffer key mappings 1
vim_better_default_file_key_mapping File key mappings 1
vim_better_default_fold_key_mapping Fold key mappings 1
vim_better_default_window_key_mapping Window key mappings 1

If you set the vim_better_default_minumum option, then vim seemingly looks like no difference with the default vim, it only adds some essential funtionalities.

let g:vim_better_default_minimum = 1

If you want to exclude key mappings in vim-better-default, just set the value as 0.

let g:vim_better_default_key_mapping = 0

For more details, please refer to the default.vim. Don't worry. It is extremely simple and just part of your own .vimrc file alike.

You can also fork vim-better-default and modify plugin/default.vim for more customization.

How to override the existing settings?

default.vim normally loads after your .vimrc, making it a bit tricky to override. If you want to load it earlier, add the following content to your .vimrc, then follow on the settings you want to override.

For instance, if you don't like relativenumber:

runtime! plugin/default.vim
set norelativenumber


If you have any ideas or suggestions to improve vim-better-default, please open an issue, or fork it and send a pull request. Your feedback is highly appreciated.


You can’t perform that action at this time.