Emacs和ansi术语:Elisp遍历缓冲区列表
我使用以下代码,打开ansi术语。我找到了这个Emacs和ansi术语:Elisp遍历缓冲区列表,emacs,elisp,Emacs,Elisp,我使用以下代码,打开ansi术语。我找到了这个 (全局设置键(kbd)“)访问ansi术语) 现在我想修改它,这样在重命名一个缓冲区后,它会记住它的名称,当我使用键盘快捷键在重命名的缓冲区列表中进行迭代时 所以,如果我按下[F2],它发现ansi术语正在运行,它会问我是否要重命名它。我把它改名为BUILD。我想要一个函数并绑定为[F3],以遍历打开的ansi术语列表 我是个文盲。如果有人能提供一些参考资料,我会很高兴的 谢谢。以下代码/绑定循环通过主要模式为术语模式的所有缓冲区: (global
(全局设置键(kbd)“)访问ansi术语)
现在我想修改它,这样在重命名一个缓冲区后,它会记住它的名称,当我使用键盘快捷键在重命名的缓冲区列表中进行迭代时
所以,如果我按下[F2],它发现ansi术语正在运行,它会问我是否要重命名它。我把它改名为BUILD。我想要一个函数并绑定为[F3],以遍历打开的ansi术语列表
我是个文盲。如果有人能提供一些参考资料,我会很高兴的
谢谢。以下代码/绑定循环通过主要模式为
术语模式的所有缓冲区:
(global-set-key (kbd "<f3>") 'cycle-ansi-term)
(defun cycle-ansi-term ()
"cycle through buffers whose major mode is term-mode"
(interactive)
(when (string= "term-mode" major-mode)
(bury-buffer))
(let ((buffers (cdr (buffer-list))))
(while buffers
(when (with-current-buffer (car buffers) (string= "term-mode" major-mode))
(switch-to-buffer (car buffers))
(setq buffers nil))
(setq buffers (cdr buffers)))))
(全局设置键(kbd“”)循环ansi术语)
(定义ansi术语()
“循环通过主要模式为术语模式的缓冲区”
(互动)
(当(string=“术语模式”主模式)
(掩埋缓冲区)
(let((缓冲区(cdr(缓冲区列表)))
(而
(当(使用当前缓冲区(汽车缓冲区)(string=“术语模式”主模式))
(切换到缓冲器(汽车缓冲器))
(setq缓冲区为零)
(setq缓冲器(cdr缓冲器(()())))
以下代码/绑定在主要模式为术语模式的所有缓冲区中循环:
(global-set-key (kbd "<f3>") 'cycle-ansi-term)
(defun cycle-ansi-term ()
"cycle through buffers whose major mode is term-mode"
(interactive)
(when (string= "term-mode" major-mode)
(bury-buffer))
(let ((buffers (cdr (buffer-list))))
(while buffers
(when (with-current-buffer (car buffers) (string= "term-mode" major-mode))
(switch-to-buffer (car buffers))
(setq buffers nil))
(setq buffers (cdr buffers)))))
(全局设置键(kbd“”)循环ansi术语)
(定义ansi术语()
“循环通过主要模式为术语模式的缓冲区”
(互动)
(当(string=“术语模式”主模式)
(掩埋缓冲区)
(let((缓冲区(cdr(缓冲区列表)))
(而
(当(使用当前缓冲区(汽车缓冲区)(string=“术语模式”主模式))
(切换到缓冲器(汽车缓冲器))
(setq缓冲区为零)
(setq缓冲器(cdr缓冲器(()())))
@Tery Jackson:谢谢,这正是我想要的。@Tery Jackson:嗨,当我第一次尝试这个时,我只尝试了两个术语,效果很好。。。但是有多个这样的术语:*另一个20个术语:char run*另一个20个术语:char run*大约19个术语:char run这个循环只通过最近打开的缓冲区中的2个。。。如何取消此限制?谢谢。@Tery Jackson:非常感谢。。。现在它遍历所有打开的ansi术语缓冲区。再次感谢。@Tery Jackson:谢谢,这正是我想要的。@Tery Jackson:嗨,当我第一次尝试这个时,我只尝试了两个术语,效果很好。。。但是有多个这样的术语:*另一个20个术语:char run*另一个20个术语:char run*大约19个术语:char run这个循环只通过最近打开的缓冲区中的2个。。。如何取消此限制?谢谢。@Tery Jackson:非常感谢。。。现在它遍历所有打开的ansi术语缓冲区。再次感谢。