Se eseguo M-x shell
in emacs per ottenere un terminale, esso sa dove avvolgere le linee automaticamente. Ad esempio, l'output di ls
viene formattato in colonne che si adattano correttamente alla finestra.La visualizzazione in modalità shell di Emacs è troppo ampia dopo aver diviso la finestra
Il mio problema è se poi divido la finestra verticalmente con C-x 3
, la modalità shell continua a pensare che la finestra riempia l'intero fotogramma. Il risultato è brutto involucro di output di comando. C'è un modo per far sapere a shell-mode che deve aggiornare la larghezza dello schermo?
EDIT:
Utilizzando la risposta di HN di seguito, mi si avvicinò con questa correzione:
(defun my-resize-window()
"Reset the COLUMNS environment variable to the current width of the window."
(interactive)
(let ((proc (get-buffer-process (current-buffer)))
(str (format "export COLUMNS=%s" (window-width))))
(funcall comint-input-sender proc str)))
(defun my-shell-mode-hook()
(local-set-key "\C-cw" 'my-resize-window))
Questa è una soluzione davvero utile. Si prega di inviare come una segnalazione di bug! –
Grazie per la funzione utile, tuttavia causerà problemi quando il processo è zero, quindi ho aggiunto un controllo nullo prima di impostare la dimensione della finestra del processo - [vedi la mia risposta] (http://stackoverflow.com/a/20015336/554279) –