Proposed tip Please edit this page to improve it, or add your comments below (do not use the discussion page).
created July 30, 2012 · complexity basic · version 7.0
I added the following to my vimrc to be able to run a Matlab script by pressing F5 (with Shift-F6 you run Matlab in a terminal):
" The matlab Connection nnoremap <F5> :call MatlabRun()<CR><CR> nnoremap <S-F6> :call RunMatlab()<CR><CR> function! MatlabRun() execute "w" execute "!matlab-ctrl.py \"". expand("%:r") . "\"" endfunction function! RunMatlab() execute "w" call system("matlab-launch.sh \"" . expand("%:r") . "\"") endfunction
I have the following scripts in my $PATH:
matlab-ctrl.py
#!/usr/bin/python2 from subprocess import call from subprocess import check_output import sys wcmd = ["xdotool","search","--name","MatlabT"] w = check_output(wcmd) w = w.replace('\n','') if len(sys.argv) > 1: s = sys.argv[1] cmd = ["xdotool","key","--window",w] for i in range(len(s)): cmd.append(s[i]) cmd.append("Return") call(cmd)
matlab-launch.sh
#!/bin/bash texfile="$1" terminal -e "/opt/MATLAB/R2011a/bin/matlab -r clc -nosplash -nodesktop" -T MatlabT --hide-menubar &> /dev/null & # try to return focus to GVIM xdotool search --class --name "${texfile}.*GVIM" windowactivate &>/dev/null exit 0
Comments[]
- tmux + Slimux is an alternative --Memming (talk) 14:03, February 12, 2014 (UTC)