Run tests from MacVim in iTerm session
The following allows me to use key strokes from within MacVim to stream commands to the current iTerm session
The run_command
script lives in /usr/local/bin/run_command
. It runs the input as a command in the terminal, and then puts application focus back on MacVim.
#!/usr/bin/env osascript
on run argv
tell application "iTerm"
tell the first terminal
tell the current session
write text argv as string
end tell
end tell
end
tell application "MacVim"
activate
end tell
end run
Then set up the .vimrc file to call the run_command script
function! SendToTerminal(args)
execute ":silent !run_command '" . a:args . "'"
endfunction
function! ClearTerminal()
call SendToTerminal("clear")
endfunction
function! RSpec()
call ClearTerminal()
if exists("s:current_test")
call SendToTerminal("rspec -fd " . s:current_test)
endif
endfunction
function! RunCurrentTest()
let s:current_test = expand('%:p')
call RSpec()
endfunction
function! RunCurrentLineInTest()
let s:current_test = expand('%:p') . ":" . line('.')
call RSpec()
endfunction
function! RunLastCommand()
call RSpec()
endfunction
nmap <Leader>t :call RunCurrentTest()<CR>
nmap <Leader>l :call RunCurrentLineInTest()<CR>
nmap <Leader>rr :call RunLastCommand()<CR>
For more information and other vim tips checkout out my dot files
Written by Harlow Ward
Related protips
2 Responses
great script !
over 1 year ago
·
how i run mvim at my iterm session? because when i type mvim then mvim its pop up in to another windows?
over 1 year ago
·
Have a fresh tip? Share with Coderwall community!
Post
Post a tip
Best
#Vim
Authors
Sponsored by #native_company# — Learn More
#native_title#
#native_desc#