KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
I have these lines in my ~/.inputrc : set editing-mode vi set keymap vi This allows me to use vi keybindings in every program that uses GNU readlines for text input. Examples: python , irb , sftp , bash , sqlite3 , and so on. It makes working with a command line a breeze. Matlab doesn't use readlines, but vi keybindings would be amazing to have when debugging or working interactively. Is there an existing solution? I tend to use matlab -nosplash -nodesktop from the command line and that got me thinking: would it be possible to write a wrapper that does use readlines and pass the input to matlab ? (If I have to implement this, I'd probably prefer to do so in Ruby.) Update: Thanks for the help. This almost works: # See also: http://bogojoker.com/readline/ require 'readline' puts 'Starting Matlab...' io = IO.popen('matlab -nosplash -nodesktop 2>&1', 'w+') while input_line = Readline.readline('>> ', true) io.puts input_line puts io.gets end But it only reads a single line from Matlab at a time (because I'm using gets ). Any ideas on how to get everything until the next time it's waiting for input? Here's what's happening (I'm entering stuff at the >> prompt): Starting Matlab... >> 1 >> 2 < M A T L A B (R) > >> 3 Copyright 1984-2009 The MathWorks, Inc. >> 4 Version 7.8.0.347 (R2009a) 32-bit (glnx86) >> 5 February 12, 2009 >> 6 >> 7 >> 8 To get started, type one of these: helpwin, helpdesk, or demo. >> 9 For product information, visit www.mathworks.com. >> 0 >> 1
Tags (comma-separated)
Save Edits
Cancel