Мне нравится использовать режим оболочки 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, а не внутри терминальной сессии.)
Есть ли способ заставить режим оболочки работать здесь правильно и открыть новый буфер от имени процесса командной строки?