" DEFINE THE FUNCTION
" Presition Buffer Locator -- START
highlight PresitionHighlight ctermfg=118
sign define PresitionSign text=| texthl=PresitionHighlight
:let g:presid=2
function! Presition()
let topLine=str2float(line("w0"))
let currentLine=str2float(line("."))
let bottomLine=str2float(line("w$"))
let totalLines=str2float(line("$"))
let height=(bottomLine - topLine)
let spot=(currentLine * (height / totalLines))
let round = float2nr(spot + topLine)
let g:presid=g:presid+1
exec "sign place " . g:presid . " line=" . round . " name=PresitionSign file=" . expand("%:p")
exec "sign unplace " . (g:presid - 1)
endfunction
:command -nargs=0 Presition :call Presition()
" APPLY FUNCTION AT EVENTS:
if ! &diff && bufname("%") != '.git/COMMIT_EDITMSG'
autocmd CursorMoved * Presition
autocmd CursorMovedI * Presition
endif
" IN A FILE INITIALIZATION:
" Always have a sign to stop window size flicker
exec "sign place 1 line=999999 name=PresitionSign buffer=" . bufnr("%")