Например,
!vim
в iPython открывает vim. В Октаве есть такое?
Например,
!vim
в iPython открывает vim. В Октаве есть такое?
Следующее может работать system("vim");
Если вам нужна интерактивность вызова чего-то внутри Octave и интерактивность с ним напрямую, попробуйте вместо этого exec("vim")
.
Дополнительные примеры см. в разделе Управление подпроцессами.
В противном случае вы можете либо объединить вызовы system
, fork
и exec
, либо расширить октаву с помощью Python/iPython или C++.
system vim file.m
возвращает Vim: Warning: Output is not to a terminal
.
- person gandalfhat; 16.02.2012
exec vim file.m
открывает файл, но после :q
возвращается в командную строку. (Также объясняется в ссылке Appleman.)
- person gandalfhat; 16.02.2012
fork
я с трудом могу набирать буквы в подсказке. (Буква появляется время от времени.)
- person gandalfhat; 16.02.2012
Если вы хотите запустить только другой процесс, то уже предложенные system()
или exec()
должны работать.
Однако, если вы планируете использовать это, чтобы просто открыть текстовый редактор и отредактировать файл Octave, установите значение EDITOR с помощью EDITOR ("vim")
(вы можете добавить его в свой файл .octaverc
), а затем используйте edit (foo)
, чтобы открыть функцию foo на Текстовый редактор.