mirror of
https://github.com/airblade/vim-gitgutter.git
synced 2025-11-09 12:03:48 -05:00
Simplify tradeoff between accuracy and speed.
If the plugin slows down your Vim too much, you can have it run less often by setting `g:gitgutter_eager = 0`. This replaces the former options `g:gitgutter_on_bufenter` and `g:gitgutter_on_focusgained`.
This commit is contained in:
31
README.mkd
31
README.mkd
@@ -81,8 +81,7 @@ You can customise:
|
|||||||
* Whether or not vim-gitgutter is on initially (defaults to on)
|
* Whether or not vim-gitgutter is on initially (defaults to on)
|
||||||
* Whether or not signs are shown (defaults to yes)
|
* Whether or not signs are shown (defaults to yes)
|
||||||
* Whether or not line highlighting is on initially (defaults to off)
|
* Whether or not line highlighting is on initially (defaults to off)
|
||||||
* Whether or not vim-gitgutter runs on `BufEnter` (defaults to yes)
|
* Whether or not vim-gitgutter runs eagerly (defaults to yes)
|
||||||
* Whether or not vim-gitgutter runs for all visible buffers on `FocusGained` (defaults to yes)
|
|
||||||
|
|
||||||
Please note that vim-gitgutter won't override any colours or highlights you've set in your colorscheme.
|
Please note that vim-gitgutter won't override any colours or highlights you've set in your colorscheme.
|
||||||
|
|
||||||
@@ -171,26 +170,19 @@ Add `let g:gitgutter_enabled = 0` to your `~/.vimrc`.
|
|||||||
Add `let g:gitgutter_highlight_lines = 1` to your `~/.vimrc`.
|
Add `let g:gitgutter_highlight_lines = 1` to your `~/.vimrc`.
|
||||||
|
|
||||||
|
|
||||||
#### To stop vim-gitgutter running on `BufEnter`
|
#### To stop vim-gitgutter running eagerly
|
||||||
|
|
||||||
This is on by default but causes a noticeable lag for some people. To turn it off, add this to your `~/.vimrc`:
|
By default the plugin runs every time you read a file, on `BufEnter`, `TabEnter` and `FocusGained`.
|
||||||
|
|
||||||
|
This can cause a noticeable lag for some people so you can set the plugin to run instead only when you read or write a file.
|
||||||
|
|
||||||
|
To turn off eager execution, add this to your `~/.vimrc`:
|
||||||
|
|
||||||
```
|
```
|
||||||
let g:gitgutter_on_bufenter = 0
|
let g:gitgutter_eager = 0
|
||||||
```
|
```
|
||||||
|
|
||||||
If you turn it off, vim-gitgutter will instead run every time you read or write a buffer.
|
Note that `FocusGained` cannot be used with gVim on Windows due to a Vim/shell bug causing an infinite loop.
|
||||||
|
|
||||||
|
|
||||||
#### To stop vim-gitgutter running for all visible buffers on `FocusGained`
|
|
||||||
|
|
||||||
This is on by default but causes a noticeable lag for some people. To turn it off, add this to your `~/.vimrc`:
|
|
||||||
|
|
||||||
```viml
|
|
||||||
let g:gitgutter_all_on_focusgained = 0
|
|
||||||
```
|
|
||||||
|
|
||||||
Note that this is always off with gVim on Windows due to a Vim/shell bug causing an infinite loop.
|
|
||||||
|
|
||||||
|
|
||||||
### FAQ
|
### FAQ
|
||||||
@@ -201,11 +193,10 @@ Your colorscheme is configuring the `SignColumn` highlight group weirdly. Pleas
|
|||||||
|
|
||||||
> There's a noticeable lag when vim-gitter runs; how can I avoid it?
|
> There's a noticeable lag when vim-gitter runs; how can I avoid it?
|
||||||
|
|
||||||
By default vim-gitgutter runs often so the signs are as accurate as possible. However on some systems this causes a noticeable lag. If you would like to trade a little accuracy for speed, add one or both of these to your `~/.vimrc`:
|
By default vim-gitgutter runs often so the signs are as accurate as possible. However on some systems this causes a noticeable lag. If you would like to trade a little accuracy for speed, add this to your `~/.vimrc`:
|
||||||
|
|
||||||
```viml
|
```viml
|
||||||
let g:gitgutter_on_bufenter = 0
|
let g:gitgutter_eager = 0
|
||||||
let g:gitgutter_all_on_focusgained = 0
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> Why is no sign shown if I delete the first line(s) in a file?
|
> Why is no sign shown if I delete the first line(s) in a file?
|
||||||
|
|||||||
@@ -99,9 +99,7 @@ You can customise:
|
|||||||
- Whether or not vim-gitgutter is on initially (defaults to on)
|
- Whether or not vim-gitgutter is on initially (defaults to on)
|
||||||
- Whether or not signs are shown (defaults to yes)
|
- Whether or not signs are shown (defaults to yes)
|
||||||
- Whether or not line highlighting is on initially (defaults to off)
|
- Whether or not line highlighting is on initially (defaults to off)
|
||||||
- Whether or not vim-gitgutter runs on `BufEnter` (defaults to yes)
|
- Whether or not vim-gitgutter runs eagerly (defaults to yes)
|
||||||
- Whether or not vim-gitgutter runs for all buffers on `FocusGained` (defaults
|
|
||||||
to yes)
|
|
||||||
|
|
||||||
Please note that vim-gitgutter won't override any colours or highlights you've
|
Please note that vim-gitgutter won't override any colours or highlights you've
|
||||||
set in your colorscheme.
|
set in your colorscheme.
|
||||||
@@ -203,18 +201,11 @@ Add to your |vimrc|
|
|||||||
let g:gitgutter_highlight_lines = 1
|
let g:gitgutter_highlight_lines = 1
|
||||||
<
|
<
|
||||||
|
|
||||||
TO STOP VIM-GITGUTTER RUNNING ON |BUFENTER|
|
TO STOP VIM-GITGUTTER RUNNING EAGERLY
|
||||||
|
|
||||||
Add to your |vimrc|
|
Add to your |vimrc|
|
||||||
>
|
>
|
||||||
let g:gitgutter_on_bufenter = 0
|
let g:gitgutter_eager = 0
|
||||||
<
|
|
||||||
|
|
||||||
TO STOP VIM-GITGUTTER RUNNING ON |FOCUSGAINED|
|
|
||||||
|
|
||||||
Add to your |vimrc|
|
|
||||||
>
|
|
||||||
let g:gitgutter_all_on_focusgained = 0
|
|
||||||
<
|
<
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -20,8 +20,7 @@ call s:set('g:gitgutter_signs', 1)
|
|||||||
call s:set('g:gitgutter_highlight_lines', 0)
|
call s:set('g:gitgutter_highlight_lines', 0)
|
||||||
let s:highlight_lines = g:gitgutter_highlight_lines
|
let s:highlight_lines = g:gitgutter_highlight_lines
|
||||||
call s:set('g:gitgutter_sign_column_always', 0)
|
call s:set('g:gitgutter_sign_column_always', 0)
|
||||||
call s:set('g:gitgutter_on_bufenter', 1)
|
call s:set('g:gitgutter_eager' , 1)
|
||||||
call s:set('g:gitgutter_all_on_focusgained', 1)
|
|
||||||
call s:set('g:gitgutter_sign_added', '+')
|
call s:set('g:gitgutter_sign_added', '+')
|
||||||
call s:set('g:gitgutter_sign_modified', '~')
|
call s:set('g:gitgutter_sign_modified', '~')
|
||||||
call s:set('g:gitgutter_sign_removed', '_')
|
call s:set('g:gitgutter_sign_removed', '_')
|
||||||
@@ -118,10 +117,6 @@ function! s:snake_case_to_camel_case(text)
|
|||||||
return substitute(a:text, '\v(.)(\a+)(_(.)(.+))?', '\u\1\l\2\u\4\l\5', '')
|
return substitute(a:text, '\v(.)(\a+)(_(.)(.+))?', '\u\1\l\2\u\4\l\5', '')
|
||||||
endfunction
|
endfunction
|
||||||
|
|
||||||
function! s:buffers()
|
|
||||||
return filter(range(1, bufnr('$')), 'buflisted(v:val)')
|
|
||||||
endfunction
|
|
||||||
|
|
||||||
" }}}
|
" }}}
|
||||||
|
|
||||||
" Highlights and signs {{{
|
" Highlights and signs {{{
|
||||||
@@ -405,8 +400,7 @@ endfunction
|
|||||||
" Public interface {{{
|
" Public interface {{{
|
||||||
|
|
||||||
function! GitGutterAll()
|
function! GitGutterAll()
|
||||||
let buffer_ids = g:gitgutter_on_bufenter ? tabpagebuflist() : s:buffers()
|
for buffer_id in tabpagebuflist()
|
||||||
for buffer_id in buffer_ids
|
|
||||||
call GitGutter(expand('#' . buffer_id . ':p'))
|
call GitGutter(expand('#' . buffer_id . ':p'))
|
||||||
endfor
|
endfor
|
||||||
endfunction
|
endfunction
|
||||||
@@ -532,16 +526,14 @@ endfunction
|
|||||||
|
|
||||||
augroup gitgutter
|
augroup gitgutter
|
||||||
autocmd!
|
autocmd!
|
||||||
if g:gitgutter_on_bufenter
|
if g:gitgutter_eager
|
||||||
autocmd BufEnter,BufWritePost,FileWritePost * call GitGutter(s:current_file())
|
autocmd BufEnter,BufWritePost,FileWritePost * call GitGutter(s:current_file())
|
||||||
else
|
autocmd TabEnter * call GitGutterAll()
|
||||||
autocmd BufReadPost,BufWritePost,FileReadPost,FileWritePost * call GitGutter(s:current_file())
|
|
||||||
endif
|
|
||||||
if g:gitgutter_all_on_focusgained
|
|
||||||
if !has('gui_win32')
|
if !has('gui_win32')
|
||||||
autocmd FocusGained * call GitGutterAll()
|
autocmd FocusGained * call GitGutterAll()
|
||||||
endif
|
endif
|
||||||
autocmd TabEnter * call GitGutterAll()
|
else
|
||||||
|
autocmd BufReadPost,BufWritePost,FileReadPost,FileWritePost * call GitGutter(s:current_file())
|
||||||
endif
|
endif
|
||||||
autocmd ColorScheme * call s:define_sign_column_highlight() | call s:define_highlights()
|
autocmd ColorScheme * call s:define_sign_column_highlight() | call s:define_highlights()
|
||||||
augroup END
|
augroup END
|
||||||
|
|||||||
Reference in New Issue
Block a user