Как вы открываете vim из CLI, например svn и git, когда вы отбрасываете -m из команд фиксации?
Я получаю следующее сообщение об ошибке: Vim: Предупреждение: выход не для терминала
`echo "Please edit this file" > file.name`; `vim file.name`;
PHP Не проходит автоматически через потоки STDIN / STDOUT, вам нужно сделать это вручную:
`echo "Please edit this file" > file.name`; system("vim file.name > `tty`");
(Примечание: я не совсем понимаю, о чем говорю, я просто знаю, что это работает.)
EDIT :
Я просто понял, что это похоже на то, что у вас уже установлено это для svn / git … от чего вы пытаетесь его открыть?
для bash: export SVN_EDITOR=vim
хотя EDITOR
будет работать, хотя это будет влиять и на другие вещи. ЕСЛИ по какой-то причине vim isnt на вашем пути вам также понадобится использовать полный путь. Поместите это в ваш .profile
или .bash_profile
.
Привет, это пример использования proc_open в PHP, работает только в системах с / dev / tty (Linux / OSX)
<?php $descriptors = array( array('file', '/dev/tty', 'r'), array('file', '/dev/tty', 'w'), array('file', '/dev/tty', 'w') ); $process = proc_open('vim', $descriptors, $pipes);