Skip to content

Instantly share code, notes, and snippets.

Embed
What would you like to do?
Only enable the quick-scope plugin's highlighting when using the f/F/t/T movements
" Insert into your .vimrc after quick-scope is loaded.
" Obviously depends on <https://github.com/unblevable/quick-scope> being installed.
" Thanks to @VanLaser for cleaning the code up and expanding capabilities to include e.g. `df`
let g:qs_enable = 0
let g:qs_enable_char_list = [ 'f', 'F', 't', 'T' ]
function! Quick_scope_selective(movement)
let needs_disabling = 0
if !g:qs_enable
QuickScopeToggle
redraw
let needs_disabling = 1
endif
let letter = nr2char(getchar())
if needs_disabling
QuickScopeToggle
endif
return a:movement . letter
endfunction
for i in g:qs_enable_char_list
execute 'noremap <expr> <silent>' . i . " Quick_scope_selective('". i . "')"
endfor
@VanLaser
Copy link

VanLaser commented Aug 11, 2015

I updated your maps with operator-pending mode support (and made it more compact), if you're interested (to pull, or see if there's any problems): https://gist.github.com/VanLaser/a781cd29ccf3526da9ef

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment