Mi piace usare la modalità shell di Emacs, ma ha alcune lacune. Uno di questi è che non è abbastanza intelligente da aprire un nuovo buffer quando un comando shell tenta di richiamare un editor. Per esempio con la variabile di ambiente VISUAL
insieme a vim
ricevo il seguente da svn propedit
:Apre un buffer Emacs quando un comando tenta di aprire un editor in modalità shell
$ svn propedit svn:externals . "svn-prop.tmp" 2L, 149C[1;1H ~ [4;1H~ [5;1H~ [6;1H~ [7;1H~ ...
(Può essere difficile dire dalla rappresentazione, ma è un orribile, orribile pasticcio.)
Con VISUAL
impostato "emacs -nw"
, ottengo
$ 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
(funziona con VISUAL
insieme a poco emacs
, ma solo da all'interno di una finestra di Emacs X, non all'interno di una sessione terminale.)
C'è un modo per ottenere la modalità shell per fare la cosa giusta qui e aprire un nuovo buffer per conto del processo della riga di comando?
$ svn propedit svn: ignore. In attesa di Emacs ... -error Sconosciuta & comando: & _ ABSPATH/TO/REPO/svn & -prop.tmp Nessuna modifica alla proprietà 'svn: ignora' on '.' –
Oops. Ho/etc/alternative che puntano a versioni differenti per emacs ed emacsclient. L'aggiornamento dell'alternativa per emacsclient ha corretto quanto sopra. –
'export EDITOR =" emacsclient --alternate-editor = emacs --no-wait +% l% f "' è degno di nota. – jfs