On Saturday, October 26, 2013 7:23:22 PM UTC-4, Tim Chase wrote:
> On 2013-10-26 13:30, AlmostSurely wrote:
> 
> > I've been trying to capture a portion of output from a shell
> 
> > command. Suppose I need the first line of output from,
> 
> > 
> 
> > :!g++ --version
> 
> > 
> 
> > Is it possible for me to execute the above, storing only the first
> 
> > line of output  in a string variable?
> 
> 
> 
> Depending on the context you want it, you can either read the output
> 
> of the command into the current buffer with
> 
> 
> 
>   :r !g++ --version
> 
> 
> 
> or you can put it in a variable to be manipulated:
> 
> 
> 
>   :let my_var=system('g++ --version')
> 
> 
> 
> Note that this will give you the complete output, so you'd have to
> 
> throw away the bits you don't want.
> 
> 
> 
> -tim
Hi Tim, thanks for the response. This seems to work and do what I need,
function! Test2()
            :!clear
            :let str1 = system('g++ --version')
            :let str2 = split(str1, "\n")
            :execute "!echo " . shellescape(str2[0])
endfunction
-- 
-- 
You received this message from the "vim_use" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
--- 
You received this message because you are subscribed to the Google Groups "vim_use" group.
To unsubscribe from this group and stop receiving emails from it, send an email to vim_use+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment