2020-05-22 07:58:55 +02:00
|
|
|
" Quit vim if the last window is qf
|
|
|
|
autocmd BufEnter <buffer> if winnr('$') < 2| q | endif
|
2020-05-17 17:28:06 +02:00
|
|
|
|
2020-05-22 07:58:55 +02:00
|
|
|
setlocal scrolloff=0
|
|
|
|
setlocal nowrap
|
|
|
|
setlocal norelativenumber number
|
|
|
|
setlocal linebreak
|
|
|
|
setlocal nolist
|
|
|
|
setlocal nocursorline
|
|
|
|
setlocal nobuflisted
|
|
|
|
setlocal nospell
|
2020-04-12 14:48:54 +02:00
|
|
|
|
2020-05-21 09:49:13 +02:00
|
|
|
nnoremap <buffer> [- :colder<CR>
|
|
|
|
nnoremap <buffer> ]+ :cnewer<CR>
|
|
|
|
nnoremap <buffer> <Leader>g :Cfilter<SPACE>
|
2020-04-21 10:10:44 +02:00
|
|
|
|
2020-05-22 07:58:55 +02:00
|
|
|
nnoremap <buffer> o <CR><C-w>p
|
|
|
|
nnoremap <silent> <buffer> p :call <SID>preview_file()<CR>
|
|
|
|
|
|
|
|
let b:qf_isLoc = ! empty(getloclist(0))
|
|
|
|
if b:qf_isLoc == 1
|
|
|
|
nnoremap <buffer> q <CR>:lclose<CR>
|
|
|
|
else
|
|
|
|
nnoremap <buffer> q <CR>:cclose<CR>
|
|
|
|
endif
|
|
|
|
|
|
|
|
" Taken from https://github.com/voldikss/dotfiles
|
|
|
|
function! s:preview_file()
|
|
|
|
let winwidth = &columns
|
|
|
|
let cur_list = b:qf_isLoc == 1 ? getloclist('.') : getqflist()
|
|
|
|
let cur_line = getline(line('.'))
|
|
|
|
let cur_file = fnameescape(substitute(cur_line, '|.*$', '', ''))
|
|
|
|
if cur_line =~# '|\d\+'
|
|
|
|
let cur_pos = substitute(cur_line, '^\(.\{-}|\)\(\d\+\)\(.*\)', '\2', '')
|
|
|
|
execute 'vertical pedit! +'.cur_pos.' '.cur_file
|
|
|
|
else
|
|
|
|
execute 'vertical pedit! '.cur_file
|
|
|
|
endif
|
|
|
|
wincmd P
|
|
|
|
execute 'vert resize '.(winwidth / 2)
|
|
|
|
wincmd p
|
|
|
|
endfunction
|