Emacs中编程方式跳转指定窗口失败问题咨询
解决Emacs中
(select-window 3)报错的问题 错误原因
select-window 要求传入的参数必须是存活的窗口对象,你直接传入整数3不符合参数类型要求,因此触发wrong-type-argument window-live-p 3错误。
解决方法
方法1:通过nth-window获取窗口对象
nth-window 可根据索引返回对应窗口对象,注意它的索引是从0开始的,第三个窗口对应的索引是2,执行以下代码即可选中:
(select-window (nth-window 2))
如果习惯从1开始计数,可做简单偏移:
(select-window (nth-window (- 3 1)))
方法2:使用select-window-by-number(推荐)
较新版本的Emacs提供了select-window-by-number函数,它直接支持从1开始的数字索引,选中第三个窗口只需执行:
(select-window-by-number 3)
额外检查
如果执行后仍然报错,先确认目标窗口是否还存活(未被关闭),可以用window-list查看当前所有存活的窗口列表:
(window-list)
内容的提问来源于stack exchange,提问作者kathmandui
相关产品推荐
相关产品推荐

