diff options
author | Adam Stankiewicz <sheerun@sher.pl> | 2020-10-19 02:26:31 +0200 |
---|---|---|
committer | Adam Stankiewicz <sheerun@sher.pl> | 2020-10-19 02:26:31 +0200 |
commit | 233a817f05ba73574539ed7395bde49d183a807a (patch) | |
tree | 04794987d3ba4391606f10c34d485c901ad9db50 | |
parent | c3e825027ddabecf18370df61c1da4018f017b7b (diff) | |
download | vim-polyglot-4.14.0.tar.gz vim-polyglot-4.14.0.zip |
Add vim-sensible defaults by defaultv4.14.0
Diffstat (limited to '')
-rw-r--r-- | plugin/polyglot.vim | 128 |
1 files changed, 128 insertions, 0 deletions
diff --git a/plugin/polyglot.vim b/plugin/polyglot.vim index 27e12b77..1b5d34e1 100644 --- a/plugin/polyglot.vim +++ b/plugin/polyglot.vim @@ -7,3 +7,131 @@ endif if has('syntax') && !exists('g:syntax_on') syntax enable endif + +" No need to duplicate work +if exists('g:loaded_sensible') + finish +endif + +" Code taken from https://github.com/tpope/vim-sensible +" and (mostly comments) from https://github.com/sheerun/vimrc +if !exists('g:polyglot_disabled') || index(g:polyglot_disabled, 'sensible') + " Autoindent when starting new line, or using `o` or `O`. + set autoindent + + " Allow backspace in insert mode. + set backspace=indent,eol,start + + " Don't scan included files. The .tags file is more performant. + set complete-=i + + " Use 'shiftwidth' when using `<Tab>` in front of a line. + " By default it's used only for shift commands (`<`, `>`). + set smarttab + + " Disable octal format for number processing. + set nrformats-=octal + + " Allow for mappings including `Esc`, while preserving + " zero timeout after pressing it manually. + " (only vim needs a fix for this) + if !has('nvim') && &ttimeoutlen == -1 + set ttimeout + set ttimeoutlen=100 + endif + + " Enable highlighted case-insensitive incremential search. + set incsearch + + " Use <C-L> to clear the highlighting of :set hlsearch. + if maparg('<C-L>', 'n') ==# '' + nnoremap <silent> <C-L> :nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L> + endif + + " Always show window statuses, even if there's only one. + set laststatus=2 + + " Show the line and column number of the cursor position. + set ruler + + " Autocomplete commands using nice menu in place of window status. + " Enable `Ctrl-N` and `Ctrl-P` to scroll through matches. + set wildmenu + + " Keep 5 columns next to the cursor when scrolling horizontally. + if !&scrolloff + set scrolloff=1 + endif + if !&sidescrolloff + set sidescrolloff=5 + endif + + " When 'wrap' is on, display last line even if it doesn't fit. + set display+=lastline + + " Force utf-8 encoding + set encoding=utf-8 + + " Set default whitespace characters when using `:set list` + if &listchars ==# 'eol:$' + set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+ + endif + + " Delete comment character when joining commented lines + if v:version > 703 || v:version == 703 && has("patch541") + set formatoptions+=j + endif + + " Search upwards for tags file instead only locally + if has('path_extra') + setglobal tags-=./tags tags-=./tags; tags^=./tags; + endif + + " Fix issues with fish shell + " https://github.com/tpope/vim-sensible/issues/50 + if &shell =~# 'fish$' && (v:version < 704 || v:version == 704 && !has('patch276')) + set shell=/usr/bin/env\ bash + endif + + " Reload unchanged files automatically. + set autoread + + " Increase history size to 1000 items. + if &history < 1000 + set history=1000 + endif + + " Allow for up to 50 opened tabs on Vim start. + if &tabpagemax < 50 + set tabpagemax=50 + endif + + " Always save upper case variables to viminfo file. + if !empty(&viminfo) + set viminfo^=! + endif + + " Don't save options in sessions and views + set sessionoptions-=options + set viewoptions-=options + + " Allow color schemes to do bright colors without forcing bold. + if &t_Co == 8 && $TERM !~# '^Eterm' + set t_Co=16 + endif + + " Load matchit.vim, but only if the user hasn't installed a newer version. + if !exists('g:loaded_matchit') && findfile('plugin/matchit.vim', &rtp) ==# '' + runtime! macros/matchit.vim + endif + + " `Ctrl-U` in insert mode deletes a lot. Use `Ctrl-G` u to first break undo, + " so that you can undo `Ctrl-U` without undoing what you typed before it. + if empty(mapcheck('<C-U>', 'i')) + inoremap <C-U> <C-G>u<C-U> + endif + + if empty(mapcheck('<C-W>', 'i')) + inoremap <C-W> <C-G>u<C-W> + endif +endif |