Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

switch-to-next-buffer

4 réponses
Avatar
Romain Casey
Bonjour,
J'ai trouvé un bout de code qui ma plaît bien pour passer d'un buffer à
l'autre. Il définit « switch-to-previous-buffer ». Je voudrais définir
de la manière « switch-to-next-buffer ». Comme je ne comprends rien au
code, je n'y arrive pas... il ne doit pourtant pas y avoir grand chose à
modifier dans la fonction initiale.

Merci.


Romain


(defun not-a-buffer-i-want (bufname)
;; t if bufname starts and ends with a *
;; Or bufname starts with a space (invisible)
;; nil else
(or (string-equal (substring bufname 0 1) " ")
(and (string-equal (substring bufname 0 1) "*")
(string-equal (substring bufname -1) "*"))))

(defun switch-to-previous-buffer ()
"Switches to previous buffer"
(interactive)
(while (not-a-buffer-i-want (buffer-name (nth (- (length
(buffer-list)) 1) (buffer-list))))
(switch-to-buffer (nth (- (length (buffer-list)) 1) (buffer-list))))
(switch-to-buffer (nth (- (length (buffer-list)) 1) (buffer-list))))

(global-set-key [(f5)] 'switch-to-previous-buffer)

4 réponses

Avatar
Matthieu Moy
Romain Casey writes:

J'ai trouvé un bout de code qui ma plaît bien pour passer d'un buffer
à l'autre.



Voir aussi iswitchb-mode et ido-mode, avec les raccourcis C-r et C-s
dans le minibuffer.

(defun switch-to-previous-buffer ()



Ça ressemble fort à ce que fait `burry-buffer' ...

Moi, j'ai ça :

(defun unbury-buffer ()
(interactive)
(switch-to-buffer (last-in-list (buffer-list))))

--
Matthieu
Avatar
Romain Casey
Matthieu Moy a écrit :
Romain Casey writes:
(defun switch-to-previous-buffer ()



Ça ressemble fort à ce que fait `burry-buffer' ...

Moi, j'ai ça :

(defun unbury-buffer ()
(interactive)
(switch-to-buffer (last-in-list (buffer-list))))



L'intérêt du code proposé, c'est de ne pas afficher les buffers du type
*Messages*, etc. Je ne crois pas que unbury-buffer fasse ça.


Romain
Avatar
Matthieu Moy
Romain Casey writes:

L'intérêt du code proposé, c'est de ne pas afficher les buffers du
type *Messages*, etc. Je ne crois pas que unbury-buffer fasse ça.



Non (moi, je suis content avec ça), mais en remettant ta boucle while
autour, ça devrait marcher.

--
Matthieu
Avatar
Romain Casey
Matthieu Moy a écrit :
Romain Casey writes:
L'intérêt du code proposé, c'est de ne pas afficher les buffers du
type *Messages*, etc. Je ne crois pas que unbury-buffer fasse ça.



Non (moi, je suis content avec ça), mais en remettant ta boucle while
autour, ça devrait marcher.



Ok. Je vais essayer. Merci.


Romain