In vim, when I use
:r !ls somefilename
it inserts output of that command on a new line below the current line.
If I do
let @a = system("ls")
and later
"ap
it still inserts the output on a new line below the current line.
Is there a way to make vim insert output at the current location?
Best Answer
You can paste the contents of the clipboard buffer between characters with Ctrl-R * in insert mode (and a similar approach for other buffers). So if you can get the system command into a buffer, you should be set. (Source: https://stackoverflow.com/questions/1491135/paste-multi-line-string-into-gvim-at-cursor-position ).
:let @a=system("ls -l")
will put the output ofls -l
into registera
. You can then paste it (in insert mode) with^R-a
.