Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- "
- " Navigate quicklist and location list windows conveniently
- "
- " I want a key, say, F4, that does :lnext or :cnext depending on whether the
- " location list window associated with the current buffer is open or not
- "
- " Written by Marius Gedminas <marius@gedmin.as>
- "
- function! LocListOpen()
- let curwinnr = winnr()
- let mylist = getloclist(curwinnr)
- if mylist == []
- return 0
- endif
- for winnr in range(1, winnr('$'))
- if winnr != curwinnr
- \ && winbufnr(winnr) != -1
- \ && getwinvar(winnr, '&buftype') == 'quickfix'
- \ && getloclist(winnr) == mylist
- return 1
- endif
- endfor
- return 0
- endf
- function! ErrorUnderCursor()
- if LocListOpen()
- let mylist = getloclist(0)
- else
- let mylist = getqflist()
- endif
- let curbufnr = bufnr("")
- let curlnum = line(".")
- for d in mylist
- if d.bufnr == curbufnr && d.lnum == curlnum
- " force a redraw, or our echo will get cleared
- redraw
- echo d.text
- return
- endif
- endfor
- endf
- command! -bar ErrorUnderCursor :call ErrorUnderCursor()
- command! -bar NextInList :if LocListOpen() <bar> :lnext <bar> else <bar> :cn <bar> endif <bar> ErrorUnderCursor
- command! -bar PrevInList :if LocListOpen() <bar> :lprev <bar> else <bar> :cp <bar> endif <bar> ErrorUnderCursor
- command! -bar CurInList :if LocListOpen() <bar> :ll <bar> else <bar> :cc <bar> endif <bar> ErrorUnderCursor
Add Comment
Please, Sign In to add comment