Мне нравится использовать режим оболочки Emacs, но у него есть несколько недостатков. Один из них заключается в том, что он недостаточно умен, чтобы открыть новый буфер, когда команда оболочки пытается вызвать редактор. Например, с переменной окружения VISUAL
, установленной в vim
, я получаю следующее из svn propedit
:
$ svn propedit svn:externals . "svn-prop.tmp" 2L, 149C[1;1H ~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ ...
(Трудно сказать из представления, но это ужасный, уродливый беспорядок.)
С VISUAL
, установленным в "emacs -nw"
, я получаю
$ svn propedit svn:externals . emacs: Terminal type "dumb" is not powerful enough to run Emacs. It lacks the ability to position the cursor. If that is not the actual type of terminal you have, use the Bourne shell command `TERM=... export TERM' (C-shell: `setenv TERM ...') to specify the correct type. It may be necessary to do `unset TERMINFO' (C-shell: `unsetenv TERMINFO') as well.svn: system('emacs -nw svn-prop.tmp') returned 256
(Он работает с VISUAL
, установленным только как emacs
, но только внутри окна Emacs X, а не внутри сеанса терминала.)
Есть ли способ получить режим оболочки для правильной работы здесь и открыть новый буфер от имени процесса командной строки?