Si ejecuto M-x shell
en emacs para obtener un terminal, sabe dónde ajustar las líneas automáticamente. Por ejemplo, la salida de ls
está formateada en columnas que se ajustan a la ventana correctamente.La pantalla del modo shell Emacs es demasiado ancha después de dividir la ventana
Mi problema es si luego dividir la ventana verticalmente con C-x 3
, el modo de shell todavía cree que la ventana ocupa todo el fotograma. El resultado es una envoltura fea de la salida del comando. ¿Hay alguna forma de que el modo shell sepa que tiene que actualizar el ancho de la pantalla?
EDIT:
Usando la respuesta de HN continuación, se me ocurrió con esta revisión:
(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))
Esta es una solución realmente útil. Por favor, envíe como un informe de error! –
Gracias por la útil función, sin embargo, causará problemas cuando el proceso sea nulo, así que agregué una comprobación nula antes de configurar el tamaño de la ventana del proceso - [ver mi respuesta] (http://stackoverflow.com/a/20015336/554279) –