mirror of
https://github.com/tpope/vim-sensible.git
synced 2025-11-18 07:43:39 -05:00
Compare commits
92 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
0ce2d843d6 | ||
|
|
3e878abfd6 | ||
|
|
624c7549a5 | ||
|
|
5693bb650a | ||
|
|
a7eea09ba6 | ||
|
|
16283468be | ||
|
|
947f613a09 | ||
|
|
8e274c23e4 | ||
|
|
eb59f45508 | ||
|
|
dad453eb1b | ||
|
|
cdb380156f | ||
|
|
c597927613 | ||
|
|
0b53989c02 | ||
|
|
d2613eeaa1 | ||
|
|
d4b12eaf84 | ||
|
|
1415c5b66d | ||
|
|
c48736b2c3 | ||
|
|
d5617d0279 | ||
|
|
489e9bf885 | ||
|
|
c28d1ad848 | ||
|
|
c6fe4c33b8 | ||
|
|
1be4e4e540 | ||
|
|
8985da7669 | ||
|
|
226203be17 | ||
|
|
2d9f34c09f | ||
|
|
bb75c2ec73 | ||
|
|
4a7159a300 | ||
|
|
5dc6eb2d80 | ||
|
|
b9febff7aa | ||
|
|
c176d13789 | ||
|
|
67fe033b2b | ||
|
|
8db5a732ef | ||
|
|
7f46e82fc7 | ||
|
|
679e53d615 | ||
|
|
340a5e1f32 | ||
|
|
c82c6d4978 | ||
|
|
2d60332fa5 | ||
|
|
49ee364222 | ||
|
|
d205637361 | ||
|
|
b6033cb4d4 | ||
|
|
e57222db3b | ||
|
|
4b75359218 | ||
|
|
9e91be7e0f | ||
|
|
2fb074e841 | ||
|
|
680a5c6932 | ||
|
|
8c4429c70c | ||
|
|
26f8783e08 | ||
|
|
027b2390e1 | ||
|
|
d0beb8ab42 | ||
|
|
b30dcf387a | ||
|
|
64aa12b07b | ||
|
|
d002540b6c | ||
|
|
98a6555e4a | ||
|
|
38fea1c935 | ||
|
|
f8acc5a067 | ||
|
|
01854b14c7 | ||
|
|
ada47584c3 | ||
|
|
92c7ee739b | ||
|
|
e48a40534c | ||
|
|
196fcfb728 | ||
|
|
fee5928dc8 | ||
|
|
2c57c5f4c5 | ||
|
|
3ffe25ce1d | ||
|
|
d39023bba7 | ||
|
|
530ea28e89 | ||
|
|
4fb9519254 | ||
|
|
41499a5767 | ||
|
|
e7eda3bb86 | ||
|
|
3d88620d61 | ||
|
|
76d86fc6ed | ||
|
|
ee6eae42ed | ||
|
|
9ca7bed8ea | ||
|
|
85b9b3b516 | ||
|
|
228787e62a | ||
|
|
513386ecfe | ||
|
|
d4d1491aa1 | ||
|
|
5b0e1b4b9a | ||
|
|
85112656a2 | ||
|
|
e0a2ca148f | ||
|
|
8f2a48ae16 | ||
|
|
7aa7dba2a2 | ||
|
|
ea5d006613 | ||
|
|
a2cd959936 | ||
|
|
6c1ed9b043 | ||
|
|
6083bf4a61 | ||
|
|
93f6d3434f | ||
|
|
f7bdc45c03 | ||
|
|
77cb5aa5fb | ||
|
|
312fff5bd4 | ||
|
|
8e8937e76a | ||
|
|
b5689392fc | ||
|
|
88718d26fd |
2
.github/FUNDING.yml
vendored
Normal file
2
.github/FUNDING.yml
vendored
Normal file
@@ -0,0 +1,2 @@
|
||||
github: tpope
|
||||
custom: ["https://www.paypal.me/vimpope"]
|
||||
@@ -15,12 +15,12 @@ set of defaults that (hopefully) everyone can agree on.
|
||||
|
||||
## Installation
|
||||
|
||||
If you don't have a preferred installation method, I recommend
|
||||
installing [pathogen.vim](https://github.com/tpope/vim-pathogen), and
|
||||
then simply copy and paste:
|
||||
Install using your favorite package manager, or use Vim's built-in package
|
||||
support:
|
||||
|
||||
cd ~/.vim/bundle
|
||||
git clone git://github.com/tpope/vim-sensible.git
|
||||
mkdir -p ~/.vim/pack/tpope/start
|
||||
cd ~/.vim/pack/tpope/start
|
||||
git clone https://tpope.io/vim/sensible.git
|
||||
|
||||
## Features
|
||||
|
||||
@@ -31,10 +31,7 @@ mostly `:set` calls.) Here's a taste:
|
||||
* `'incsearch'`: Start searching before pressing enter.
|
||||
* `'listchars'`: Makes `:set list` (visible whitespace) prettier.
|
||||
* `'scrolloff'`: Always show at least one line above/below the cursor.
|
||||
* `'directory'`: Dump swap files under `~/.cache/vim/swap` (only if that
|
||||
directory already exists). Also `'backupdir'` and `'undodir'`. Try
|
||||
`mkdir -p ~/.cache/vim/{swap,backup,undo}`.
|
||||
* `nmap Y y$`: Make `Y` behave like `C` and `D`.
|
||||
* `'autoread'`: Autoload file changes. You can undo by pressing `u`.
|
||||
* `runtime! macros/matchit.vim`: Load the version of matchit.vim that ships
|
||||
with Vim.
|
||||
|
||||
@@ -54,7 +51,7 @@ documentation for an option. If you install [scriptease.vim][], you can press
|
||||
|
||||
Normally, sensible.vim loads after your vimrc, making it a bit tricky to
|
||||
override (although you could use `after/plugin/sensible.vim`). If you want to
|
||||
load it earlier, add the following line to you vimrc, then put your overrides
|
||||
load it earlier, add the following line to your vimrc, then put your overrides
|
||||
below.
|
||||
|
||||
runtime! plugin/sensible.vim
|
||||
@@ -73,10 +70,10 @@ persuasion for me to remove them. Everything else is negotiable.
|
||||
Feel free to ask a question if you're not sure why I've set something, as I
|
||||
haven't put much effort into documenting that.
|
||||
|
||||
I'm a stickler for [commit messages][], so if you send me a pull
|
||||
request with so much as superfluous period in the subject line, I will
|
||||
close it without so much as a second thought, and save my precious attention
|
||||
for someone who can actually follow directions.
|
||||
I'm a stickler for [commit messages][], so if you send me a pull request with
|
||||
so much as a superfluous period in the subject line, I will close it without
|
||||
so much as a second thought, and save my precious attention for someone who
|
||||
can actually follow directions.
|
||||
|
||||
[GitHub issues]: http://github.com/tpope/vim-sensible/issues
|
||||
[commit messages]: http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html
|
||||
|
||||
@@ -1,84 +1,158 @@
|
||||
" sensible.vim - Defaults everyone can agree on
|
||||
" Maintainer: Tim Pope <http://tpo.pe/>
|
||||
" Version: 1.0
|
||||
" Version: 2.0
|
||||
|
||||
if exists('g:loaded_sensible') || &compatible
|
||||
finish
|
||||
else
|
||||
let g:loaded_sensible = 1
|
||||
let g:loaded_sensible = 'yes'
|
||||
endif
|
||||
|
||||
if has('autocmd')
|
||||
" Use :help 'option' to see the documentation for the given option.
|
||||
|
||||
" Disable vi compatibility, if for some reason it's on.
|
||||
if &compatible
|
||||
set nocompatible
|
||||
endif
|
||||
|
||||
" Check if an option was set from a file in $HOME. This lets us avoid
|
||||
" overriding options in the user's vimrc, but still override options in the
|
||||
" system vimrc.
|
||||
function! s:MaySet(option) abort
|
||||
if exists('*execute')
|
||||
let out = execute('verbose setglobal all ' . a:option . '?')
|
||||
else
|
||||
redir => out
|
||||
silent verbose execute 'setglobal all' a:option . '?'
|
||||
redir END
|
||||
endif
|
||||
return out !~# " \\(\\~[\\/]\\|Lua\\)[^\n]*$"
|
||||
endfunction
|
||||
|
||||
if s:MaySet('backspace')
|
||||
set backspace=indent,eol,start
|
||||
endif
|
||||
" Disable completing keywords in included files (e.g., #include in C). When
|
||||
" configured properly, this can result in the slow, recursive scanning of
|
||||
" hundreds of files of dubious relevance.
|
||||
set complete-=i
|
||||
if s:MaySet('smarttab')
|
||||
set smarttab
|
||||
endif
|
||||
|
||||
set nrformats-=octal
|
||||
|
||||
" Make the escape key more responsive by decreasing the wait time for an
|
||||
" escape sequence (e.g., arrow keys).
|
||||
if !has('nvim') && &ttimeoutlen == -1
|
||||
set ttimeout
|
||||
set ttimeoutlen=100
|
||||
endif
|
||||
|
||||
if has('reltime') && s:MaySet('incsearch')
|
||||
set incsearch
|
||||
endif
|
||||
" Use CTRL-L to clear the highlighting of 'hlsearch' (off by default) and call
|
||||
" :diffupdate.
|
||||
if maparg('<C-L>', 'n') ==# ''
|
||||
nnoremap <silent> <C-L> :nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L>
|
||||
endif
|
||||
|
||||
if s:MaySet('laststatus')
|
||||
set laststatus=2
|
||||
endif
|
||||
if s:MaySet('ruler')
|
||||
set ruler
|
||||
endif
|
||||
if s:MaySet('wildmenu')
|
||||
set wildmenu
|
||||
endif
|
||||
|
||||
if s:MaySet('scrolloff')
|
||||
set scrolloff=1
|
||||
endif
|
||||
if s:MaySet('sidescroll') && s:MaySet('sidescrolloff')
|
||||
set sidescroll=1
|
||||
set sidescrolloff=2
|
||||
endif
|
||||
set display+=lastline
|
||||
if has('patch-7.4.2109')
|
||||
set display+=truncate
|
||||
endif
|
||||
|
||||
if s:MaySet('listchars')
|
||||
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
|
||||
|
||||
" Replace the check for a tags file in the parent directory of the current
|
||||
" file with a check in every ancestor directory.
|
||||
if has('path_extra') && (',' . &g:tags . ',') =~# ',\./tags,'
|
||||
setglobal tags-=./tags tags-=./tags; tags^=./tags;
|
||||
endif
|
||||
|
||||
if s:MaySet('autoread')
|
||||
set autoread
|
||||
endif
|
||||
|
||||
if s:MaySet('history')
|
||||
set history=1000
|
||||
endif
|
||||
if s:MaySet('tabpagemax')
|
||||
set tabpagemax=50
|
||||
endif
|
||||
|
||||
" Persist g:UPPERCASE variables, used by some plugins, in .viminfo.
|
||||
if !empty(&viminfo)
|
||||
set viminfo^=!
|
||||
endif
|
||||
" Saving options in session and view files causes more problems than it
|
||||
" solves, so disable it.
|
||||
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
|
||||
|
||||
" If the running Vim lacks support for the Fish shell, use Bash instead.
|
||||
if &shell =~# 'fish$' && (v:version < 704 || v:version == 704 && !has('patch276'))
|
||||
set shell=/usr/bin/env\ bash
|
||||
endif
|
||||
|
||||
" Disable a legacy behavior that can break plugin maps.
|
||||
if has('langmap') && exists('+langremap') && &langremap && s:MaySet('langremap')
|
||||
set nolangremap
|
||||
endif
|
||||
|
||||
if !(exists('g:did_load_filetypes') && exists('g:did_load_ftplugin') && exists('g:did_indent_on'))
|
||||
filetype plugin indent on
|
||||
endif
|
||||
if has('syntax') && !exists('g:syntax_on')
|
||||
syntax enable
|
||||
endif
|
||||
|
||||
" Use :help 'option' to see the documentation for the given option.
|
||||
|
||||
set backspace=indent,eol,start
|
||||
set complete-=i
|
||||
set showmatch
|
||||
|
||||
set autoindent
|
||||
set smarttab
|
||||
|
||||
set ttimeout
|
||||
set ttimeoutlen=50
|
||||
|
||||
set incsearch
|
||||
set smartcase
|
||||
" Use <C-L> to clear the highlighting of :set hlsearch.
|
||||
if maparg('<C-L>', 'n') ==# ''
|
||||
nnoremap <silent> <C-L> :nohlsearch<CR><C-L>
|
||||
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
|
||||
|
||||
set laststatus=2
|
||||
set ruler
|
||||
set showcmd
|
||||
set wildmenu
|
||||
|
||||
set scrolloff=1
|
||||
set sidescrolloff=5
|
||||
set display+=lastline
|
||||
|
||||
if &listchars ==# 'eol:$'
|
||||
set listchars=tab:>\ ,trail:-,extends:>,precedes:<,nbsp:+
|
||||
if &termencoding ==# 'utf-8' || &encoding ==# 'utf-8'
|
||||
let &listchars = "tab:\u21e5 ,trail:\u2423,extends:\u21c9,precedes:\u21c7,nbsp:\u26ad"
|
||||
let &fillchars = "vert:\u259a,fold:\u00b7"
|
||||
endif
|
||||
" From `:help :DiffOrig`.
|
||||
if exists(":DiffOrig") != 2
|
||||
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
|
||||
\ | diffthis | wincmd p | diffthis
|
||||
endif
|
||||
|
||||
set autoread
|
||||
set autowrite
|
||||
set fileformats=unix,dos,mac
|
||||
|
||||
set viminfo^=!
|
||||
|
||||
if isdirectory(expand('~/.cache/vim'))
|
||||
if &directory =~# '^\.,'
|
||||
set directory^=~/.cache/vim/swap//
|
||||
endif
|
||||
if &backupdir =~# '^\.,'
|
||||
set backupdir^=~/.cache/vim/backup//
|
||||
endif
|
||||
if exists('+undodir') && &undodir =~# '^\.\%(,\|$\)'
|
||||
set undodir^=~/.cache/vim/undo//
|
||||
endif
|
||||
endif
|
||||
if exists('+undofile')
|
||||
set undofile
|
||||
endif
|
||||
|
||||
" Allow color schemes do bright colors without forcing bold.
|
||||
if &t_Co == 8 && $TERM !~# '^linux'
|
||||
set t_Co=16
|
||||
endif
|
||||
|
||||
if !exists('g:netrw_list_hide')
|
||||
let g:netrw_list_hide = '^\.,\~$,^tags$'
|
||||
" Correctly highlight $() and other modern affordances in filetype=sh.
|
||||
if !exists('g:is_posix') && !exists('g:is_bash') && !exists('g:is_kornshell') && !exists('g:is_dash')
|
||||
let g:is_posix = 1
|
||||
endif
|
||||
|
||||
" Load matchit.vim, but only if the user hasn't installed a newer version.
|
||||
@@ -86,7 +160,7 @@ if !exists('g:loaded_matchit') && findfile('plugin/matchit.vim', &rtp) ==# ''
|
||||
runtime! macros/matchit.vim
|
||||
endif
|
||||
|
||||
" Make Y consistent with C and D. See :help Y.
|
||||
nnoremap Y y$
|
||||
|
||||
" vim:set ft=vim et sw=2:
|
||||
" Enable the :Man command shipped inside Vim's man filetype plugin.
|
||||
if exists(':Man') != 2 && !exists('g:loaded_man') && &filetype !=? 'man' && !has('nvim')
|
||||
runtime ftplugin/man.vim
|
||||
endif
|
||||
|
||||
Reference in New Issue
Block a user