diff options
author | Robin Obůrka <r.oburka@gmail.com> | 2013-11-28 16:43:46 +0100 |
---|---|---|
committer | Robin Obůrka <r.oburka@gmail.com> | 2013-11-28 16:43:46 +0100 |
commit | 677b38abb904ba0d080436d6c20a1d60b59f2acc (patch) | |
tree | 982ee6866703cb2476b1a816c5ad3ed4a625e967 /.vim | |
download | vim_sync-677b38abb904ba0d080436d6c20a1d60b59f2acc.tar.xz |
Initial commit
Diffstat (limited to '.vim')
-rw-r--r-- | .vim/hicursorwords.vim | 119 | ||||
-rw-r--r-- | .vim/spell/cs.utf-8.add | 3 | ||||
-rw-r--r-- | .vim/spell/cs.utf-8.add.spl | bin | 0 -> 63 bytes | |||
-rw-r--r-- | .vim/spell/cs.utf-8.spl | bin | 0 -> 1204107 bytes |
4 files changed, 122 insertions, 0 deletions
diff --git a/.vim/hicursorwords.vim b/.vim/hicursorwords.vim new file mode 100644 index 0000000..06a563d --- /dev/null +++ b/.vim/hicursorwords.vim @@ -0,0 +1,119 @@ +" HiCursorWords -- Highlights words under the cursor. +" +" Maintainer: Shuhei Kubota <kubota.shuhei+vim@gmail.com> +" Description: +" This script highlights words under the cursor like many IDEs. +" +" This doesn't provide scope-aware highlighting nor language specific one. +" You can control highlighting by highlighting group names. +" +" Variables: +" +" (A right hand side value is a default value.) +" +" g:HiCursorWords_delay = 200 +" A delay for highlighting in milliseconds. +" Smaller value may cause your machine slow down. +" +" g:HiCursorWords_hiGroupRegexp = '' +" If empty, all words are highlighted. +" If not empty, only the specified highlight group is highlighted. +" (my memo: 'Identifier\|vimOperParen') +" +" To investigate highlight group name, the next variable may help you. +" +" g:HiCursorWords_debugEchoHiName = 0 +" If not 0, echoes the highlight group name under the cursor. +" +" Hightlight groups: +" +" (Do :highlight! as you like.) +" +" WordUnderTheCursor +" +" + +if !exists('g:HiCursorWords_delay') + let g:HiCursorWords_delay = 2 +endif + +if !exists('g:HiCursorWords_hiGroupRegexp') + let g:HiCursorWords_hiGroupRegexp = '' +endif + +if !exists('g:HiCursorWords_debugEchoHiName') + let g:HiCursorWords_debugEchoHiName = 0 +endif + + +highlight! link WordUnderTheCursor Underlined + +augroup HiCursorWords + autocmd! + autocmd CursorMoved,CursorMovedI * call s:HiCursorWords__startHilighting() +augroup END + + +function! s:HiCursorWords__getHiName(linenum, colnum) + let hiname = synIDattr(synID(a:linenum, a:colnum, 0), "name") + let hiname = s:HiCursorWords__resolveHiName(hiname) + return hiname +endfunction + +function! s:HiCursorWords__resolveHiName(hiname) + redir => resolved + silent execute 'highlight ' . a:hiname + redir END + + if stridx(resolved, 'links to') == -1 + return a:hiname + endif + + return substitute(resolved, '\v(.*) links to ([^ ]+).*$', '\2', '') +endfunction + +function! s:HiCursorWords__getWordUnderTheCursor(linestr, linenum, colnum) + "let word = substitute(a:linestr, '.*\(\<\k\{-}\%' . a:colnum . 'c\k\{-}\>\).*', '\1', '') "expand('<word>') + let word = matchstr(a:linestr, '\k*\%' . a:colnum . 'c\k\+') + if word == '' + return '' + endif + return '\V\<' . word . '\>' +endfunction + +function! s:HiCursorWords__execute() + if exists("w:HiCursorWords__matchId") + call matchdelete(w:HiCursorWords__matchId) + unlet w:HiCursorWords__matchId + endif + + let linestr = getline('.') + let linenum = line('.') + let colnum = col('.') + + if g:HiCursorWords_debugEchoHiName + echo s:HiCursorWords__getHiName(linenum, colnum) + endif + + let word = s:HiCursorWords__getWordUnderTheCursor(linestr, linenum, colnum) + if strlen(word) != 0 + if strlen(g:HiCursorWords_hiGroupRegexp) != 0 + \ && match(s:HiCursorWords__getHiName(linenum, colnum), g:HiCursorWords_hiGroupRegexp) == -1 + return + endif + let w:HiCursorWords__matchId = matchadd('WordUnderTheCursor', word, 0) + endif +endfunction + +function! s:HiCursorWords__startHilighting() + let b:HiCursorWords__oldUpdatetime = &updatetime + let &updatetime = g:HiCursorWords_delay + augroup HiCursorWordsUpdate + autocmd! + autocmd CursorHold,CursorHoldI * + \ if exists('b:HiCursorWords__oldUpdatetime') | let &updatetime = b:HiCursorWords__oldUpdatetime | endif + \ | call s:HiCursorWords__execute() + augroup END +endfunction + +" vim: set et ft=vim sts=4 sw=4 ts=4 tw=78 : diff --git a/.vim/spell/cs.utf-8.add b/.vim/spell/cs.utf-8.add new file mode 100644 index 0000000..fee4195 --- /dev/null +++ b/.vim/spell/cs.utf-8.add @@ -0,0 +1,3 @@ +teda +hosting +turris diff --git a/.vim/spell/cs.utf-8.add.spl b/.vim/spell/cs.utf-8.add.spl Binary files differnew file mode 100644 index 0000000..8db063a --- /dev/null +++ b/.vim/spell/cs.utf-8.add.spl diff --git a/.vim/spell/cs.utf-8.spl b/.vim/spell/cs.utf-8.spl Binary files differnew file mode 100644 index 0000000..e84cb6b --- /dev/null +++ b/.vim/spell/cs.utf-8.spl |