diff options
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 | 
