Search code examples
vimexec

How to execute file I'm editing in Vi(m)


How to execute file that I'm editing in Vi(m) and get output in split window (like in SciTE)?

Of course I could execute it like that:

:!scriptname

But is it posible to avoid writing script name and how to get output in split window instead just bottom of the screen?


Solution

  • There is the make command. It runs the command set in the makeprg option. Use % as a placeholder for the current file name. For example, if you were editing a python script:

    :set makeprg=python\ %
    

    Yes, you need to escape the space. After this you can simply run:

    :make
    

    If you wish, you can set the autowrite option and it will save automatically before running the makeprg:

    :set autowrite
    

    This solves the execute part. Don't know any way of getting that output into a split window that doesn't involve redirection to file.