Emacs otra-ventana-o-búfer-anterior

en un esfuerzo por reducir la cantidad de pulsaciones de teclas que tengo que memorizar, me gustaría tener una función que

a) cambia al búfer anterior cuando solo hay una ventana/marco
b) cambia a la otra ventana/marco (igual que otra-ventana-o-marco/otra-ventana/otro-marco) si hay otra ventana/marco

Hasta ahora he encontrado... ¡nada! Y mis habilidades de elisp son... bueno, están mejorando, pero no logré codificarme una solución. ¿Alguna idea (o paquetes difíciles de encontrar) por ahí?

¡Gracias!

preguntado el 15 de mayo de 12 a las 16:05

1 Respuestas

Aquí hay una función elisp que cambia de ventana si hay más de una visible; de ​​lo contrario, cambia directamente al búfer anterior:

(defun other-window-or-previous-buffer ()
  "Switches windows if more than one window, otherwise switches buffers."
  (interactive)
  (if (> (count-windows) 1)
      (other-window 1)
    (switch-to-buffer (other-buffer))))

contestado el 15 de mayo de 12 a las 20:05

¡GRACIAS! ¡Eso era exactamente lo que estaba buscando! :) - elemakil

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.