Есть ли эквивалент Octave для iPython!

Например,

!vim

в iPython открывает vim. В Октаве есть такое?


person gandalfhat    schedule 16.02.2012    source источник


Ответы (2)


Следующее может работать system("vim");

Если вам нужна интерактивность вызова чего-то внутри Octave и интерактивность с ним напрямую, попробуйте вместо этого exec("vim").

Дополнительные примеры см. в разделе Управление подпроцессами.

В противном случае вы можете либо объединить вызовы system, fork и exec, либо расширить октаву с помощью Python/iPython или C++.

person Appleman1234    schedule 16.02.2012
comment
system vim file.m возвращает Vim: Warning: Output is not to a terminal. - person gandalfhat; 16.02.2012
comment
exec vim file.m открывает файл, но после :q возвращается в командную строку. (Также объясняется в ссылке Appleman.) - person gandalfhat; 16.02.2012
comment
После fork я с трудом могу набирать буквы в подсказке. (Буква появляется время от времени.) - person gandalfhat; 16.02.2012

Если вы хотите запустить только другой процесс, то уже предложенные system() или exec() должны работать.

Однако, если вы планируете использовать это, чтобы просто открыть текстовый редактор и отредактировать файл Octave, установите значение EDITOR с помощью EDITOR ("vim") (вы можете добавить его в свой файл .octaverc), а затем используйте edit (foo), чтобы открыть функцию foo на Текстовый редактор.

person carandraug    schedule 22.08.2012