Redir command
This commit is contained in:
parent
02322f4214
commit
e45df1e6c3
34
vimrc
34
vimrc
|
@ -10,6 +10,8 @@ endif
|
|||
if !has('nvim')
|
||||
call plug#begin('~/.vim/bundle')
|
||||
|
||||
Plug '~/.config/vim/vim/bundle/vim-learnxiny'
|
||||
|
||||
" #ALE {{{
|
||||
" https://github.com/w0rp/ale
|
||||
Plug 'w0rp/ale'
|
||||
|
@ -905,6 +907,30 @@ function! JsIncludeExpr(file)"{{{
|
|||
|
||||
endfunction
|
||||
|
||||
"}}}
|
||||
function! Redir(cmd) "{{{
|
||||
for win in range(1, winnr('$'))
|
||||
if getwinvar(win, 'scratch')
|
||||
execute win . 'windo close'
|
||||
endif
|
||||
endfor
|
||||
if a:cmd =~ '^!'
|
||||
let output = system(matchstr(a:cmd, '^!\zs.*'))
|
||||
else
|
||||
redir => output
|
||||
execute a:cmd
|
||||
redir END
|
||||
endif
|
||||
vnew
|
||||
let w:scratch = 1
|
||||
setlocal buftype=nofile bufhidden=wipe nobuflisted noswapfile
|
||||
call setline(1, split(output, "\n"))
|
||||
endfunction
|
||||
|
||||
command! -nargs=1 -complete=command Redir silent call Redir(<q-args>)
|
||||
" Usage:
|
||||
" :Redir hi ............. show the full output of command ':hi' in a scratch window
|
||||
" :Redir !ls -al ........ show the full output of command ':!ls -al' in a scratch window
|
||||
"}}}
|
||||
|
||||
"----------------------------------------------------------------------------}}}
|
||||
|
@ -1075,13 +1101,17 @@ nnoremap <space>ee :e .<CR>
|
|||
nnoremap <space>eq :Rex<CR>
|
||||
|
||||
"}}}
|
||||
" better window/tab/buffer navigation/management {{{
|
||||
" movement/navigation{{{
|
||||
nnoremap <Esc>j :resize -5<CR>
|
||||
nnoremap <Esc>k :resize +5<CR>
|
||||
nnoremap <Esc>l :vertical resize +5<CR>
|
||||
nnoremap <Esc>h :vertical resize -5<CR>
|
||||
nnoremap <PageUp> :bprevious<CR>
|
||||
nnoremap <PageDown> :bnext<CR>
|
||||
" alias for :tjump <cword>
|
||||
nnoremap <space>tj g<C-]>
|
||||
" alias for @ptjump <cword>
|
||||
nnoremap <space>tp <C-w>g}
|
||||
|
||||
"}}}
|
||||
" location list and quickfix mappings {{{
|
||||
|
@ -1583,7 +1613,5 @@ if exists('+showtabline')
|
|||
endif " exists("+showtabline")
|
||||
"----------------------------------------------------------------------------}}}
|
||||
|
||||
nnoremap <F11> :sp tags<CR>:%s/^\([^ :]*:\)\=\([^ ]*\).*/syntax keyword Tag \2/<CR>:wq! tags.vim<CR>/^<CR><F12>
|
||||
nnoremap <F12> :so tags.vim<CR>
|
||||
|
||||
" vim: set foldmethod=marker:
|
||||
|
|
Loading…
Reference in New Issue