nvim: plugin/shell: Allows getting shell command output in temp buffer
Taken from https://stackoverflow.com/questions/10493452/vim-open-a-temporary-buffer-displaying-executables-output
This commit is contained in:
parent
8d44f5ced6
commit
d4a5bc933c
1 changed files with 13 additions and 0 deletions
13
nvim/.config/nvim/plugin/shell.vim
Normal file
13
nvim/.config/nvim/plugin/shell.vim
Normal file
|
@ -0,0 +1,13 @@
|
|||
function! s:ExecuteInShell(command) " {{{
|
||||
let command = join(map(split(a:command), 'expand(v:val)'))
|
||||
let winnr = bufwinnr('^' . command . '$')
|
||||
silent! execute winnr < 0 ? 'tabedit ' . fnameescape(command) : winnr . 'wincmd w'
|
||||
setlocal buftype=nowrite bufhidden=wipe nobuflisted noswapfile nowrap nonumber
|
||||
silent! execute 'silent %!'. command
|
||||
silent! redraw
|
||||
silent! execute 'au BufUnload <buffer> execute bufwinnr(' . bufnr('#') . ') . ''wincmd w'''
|
||||
silent! execute 'nnoremap <silent> <buffer> q :q<CR>'
|
||||
echo 'Shell command ' . command . ' executed.'
|
||||
endfunction " }}}
|
||||
|
||||
command! -complete=shellcmd -nargs=+ Shell call s:ExecuteInShell(<q-args>)
|
Loading…
Reference in a new issue