From 70d7f3aea5d8de71fc34a84b8b5b20c8bb01d077 Mon Sep 17 00:00:00 2001 From: jdhao Date: Fri, 13 Aug 2021 01:17:57 +0800 Subject: [PATCH] Add Redir command to capture command output easily --- autoload/utils.vim | 9 +++++++++ plugin/command.vim | 2 ++ 2 files changed, 11 insertions(+) create mode 100644 plugin/command.vim diff --git a/autoload/utils.vim b/autoload/utils.vim index 5bbc7e8..c573a48 100644 --- a/autoload/utils.vim +++ b/autoload/utils.vim @@ -168,3 +168,12 @@ function! utils#GetGitBranch() return l:res endif endfunction + +" Redirect command output to a register for later processing. +" Ref: https://stackoverflow.com/q/2573021/6064933 and https://unix.stackexchange.com/q/8101/221410 . +function! utils#CaptureCommandOutput(command) abort + echomsg "command is" a:command + redir @m + execute a:command + redir END +endfunction diff --git a/plugin/command.vim b/plugin/command.vim new file mode 100644 index 0000000..e39859b --- /dev/null +++ b/plugin/command.vim @@ -0,0 +1,2 @@ +" Capture output from a command to register @m, to paste, press "mp +command! -nargs=1 -complete=command Redir call utils#CaptureCommandOutput()