send code from vim to an external application for execution send code from vim to an external application for execution python python

send code from vim to an external application for execution


IronAHK is a Linux/Mono rewrite of the AutoHotKey scripting language, which is similar to AutoIt (a GUI automation / keyboard remapping tool). I haven't used IronAHK, but AutoHotkey can run AutoIt v2 scripts.

You can also look @Project Sikuli: "Sikuli is a visual technology to automate and test graphical user interfaces (GUI) using images (screenshots). Sikuli includes Sikuli Script, a visual scripting API for Jython, and Sikuli IDE, an integrated development environment for writing visual scripts with screenshots easily" (from the sikuli front page)

Another good option is Linux Desktop Testing Project (LDTP), scriptable with Python:

example:

from ldtp import *from ldtputils import *try:    launchapp("gedit")    if waittillguiexist("*.gedit")==0:        raise LdtpExecutionError("Gedit window does not exist")    selectmenuitem("*-gedit", "mnuFile;mnuOpen")    selectrow("dkgOpenFiles...", "tblFiles", fileName[0])    ...


Maybe you could use a mechanism similar to used by this vim plugin, which perform a similar task:

http://www.vim.org/scripts/script.php?script_id=1048

This plugin sends R code to a R tool, under unix and windows (R programming language is widely used for statistical software development and data analysis).

I don't know about Stata or R language, but it seems that you could control Stata using R, as stated in http://www.r-bloggers.com/why-use-r/:

You can easily use it anywhere.  It's  platform-independent, so you can use iton any operating system.  And it's free, so you can use it at any employerwithout having to persuade your boss to purchase a license.::R allows you to integrate with other languages (C/C++, Java, Python) andenables you to interact with many data sources: ODBC-compliant databases(Excel, Access) and other statistical packages (SAS, Stata,  SPSS,Minitab).

Some Stata commands translated to R:

http://www.r-bloggers.com/stata-or-r/

If you could perform the desired task through R then probably you could use the vim plugin above unchanged.

Hope this help.


I've used the VI map function to define macros to send my file to a C compiler, and retrieve the results. It's not very robust (no if/then programming), but it's pretty simple to implement, and I have a lot of standard mappings I use. For example &T uppercases the line I'm on while &t lowercases it. I use &S to run my spell checker (gspell), etc. You don't need to begin your macros with an ampersand, but this way I know it's an unlikely combination of letters I'd be typing.

Setting up a Map is pretty easy. You use the :map ex command, space, a word used to invoke the map, a space, and then the keystrokes you want to execute. If you need to insert something like a return or escape, prefix it with a Ctrl-V.

You can use map! to map a macro that can be executed while in Insert or Replace mode.