User interface 在emacs中,未聚焦的帧窃取顶部缓冲区
当我在emacs中编辑一堆文件时,我喜欢使用emacs——守护进程,因此我最终打开了很多帧。问题是当我试图通过User interface 在emacs中,未聚焦的帧窃取顶部缓冲区,user-interface,emacs,User Interface,Emacs,当我在emacs中编辑一堆文件时,我喜欢使用emacs——守护进程,因此我最终打开了很多帧。问题是当我试图通过C-xb切换缓冲区时。我不确定它到底是如何发生的,但有时下一个缓冲区已经在背景中最小化的帧中。在这种情况下,它将我要离开的缓冲区放入该帧中,将缓冲区推到缓冲区列表的底部,并使我疯狂地点击以返回到它。然后它发生在第二个缓冲区,使我不得不疯狂地制表回到它 它将“C-x b[edit]C-x b[edit]”的高效工作周期转换为“C-x b[TabtabatBatbat][enter][edi
C-xb
切换缓冲区时。我不确定它到底是如何发生的,但有时下一个缓冲区已经在背景中最小化的帧中。在这种情况下,它将我要离开的缓冲区放入该帧中,将缓冲区推到缓冲区列表的底部,并使我疯狂地点击以返回到它。然后它发生在第二个缓冲区,使我不得不疯狂地制表回到它
它将“C-x b[edit]C-x b[edit]”的高效工作周期转换为“C-x b[TabtabatBatbat][enter][edit]C-x b[TabtabatBabatbtba][sigh][enter][edit]”。我能找到的唯一解决方案是按住Alt键,直到找到窃取这些缓冲区的帧,然后关闭它。直到它再次发生,我想掐死什么
我想要的是。。。当我用“C-x b”切换缓冲区时,我离开的缓冲区永远不会被拖到另一个打开的帧中,而只是不再可见,停留在缓冲区列表的顶部,以便下一个“C-x b”切换回它。我该怎么做呢?有两件事可能会对您有所帮助:
C-r
向后循环缓冲区。因此,您可以C-xb选项卡
前进,而C-xbc-r
后退emacsclient file.txt
打开文件?如果是这样,它会导致Emacs以一种特殊的方式处理file.txt
缓冲区,您不喜欢这样。您可以通过运行emacsclient-e'(查找文件“file.txt”)”
来欺骗Emacs,使其像对待任何其他缓冲区一样对待它。这样,Emacs就不会知道您从EmacClient命令打开了file.txt
,也不会将缓冲区放在缓冲区列表的底部。这有意义吗
emacsclient-e'(查找文件“file.txt”)
太难输入了,您可以通过将其放入.bashrc
中来缩短它:
edit() {
emacsclient -e '(find-file "'"$1"'")'
}
然后,用edit file.txt
打开一个文件有两件事可能会对你有所帮助:
C-r
向后循环缓冲区。因此,您可以C-xb选项卡
前进,而C-xbc-r
后退emacsclient file.txt
打开文件?如果是这样,它会导致Emacs以一种特殊的方式处理file.txt
缓冲区,您不喜欢这样。您可以通过运行emacsclient-e'(查找文件“file.txt”)”
来欺骗Emacs,使其像对待任何其他缓冲区一样对待它。这样,Emacs就不会知道您从EmacClient命令打开了file.txt
,也不会将缓冲区放在缓冲区列表的底部。这有意义吗
emacsclient-e'(查找文件“file.txt”)
太难输入了,您可以通过将其放入.bashrc
中来缩短它:
edit() {
emacsclient -e '(find-file "'"$1"'")'
}
然后,用edit file.txt
打开一个文件我想我找到了解决办法。问题是,
other buffer
忽略了已经可见的缓冲区,因此当切换到缓冲区
尝试获取要切换到的默认缓冲区时,other buffer
会优先返回隐藏的缓冲区,而不是可见的缓冲区。和C-xb
调用切换到缓冲区
幸运的是,other buffer
有一个可选参数,该参数禁用了对可见缓冲区的这种尊重处理switch to buffer
没有指定该参数,但覆盖其他人的代码正是defadvice
的目的
(defadvice other-buffer (before switch-to-visible-darnyou
activate preactivate compile)
(ad-set-arg 1 t))
poof,现在调用(other buffer something)会导致(other buffer something t),并且缓冲区的可见性不会从切换到buffer的
提示符中窃取它。我想我找到了一个解决方案。问题是,other buffer
忽略了已经可见的缓冲区,因此当切换到缓冲区
尝试获取要切换到的默认缓冲区时,other buffer
会优先返回隐藏的缓冲区,而不是可见的缓冲区。和C-xb
调用切换到缓冲区
幸运的是,other buffer
有一个可选参数,该参数禁用了对可见缓冲区的这种尊重处理switch to buffer
没有指定该参数,但覆盖其他人的代码正是defadvice
的目的
(defadvice other-buffer (before switch-to-visible-darnyou
activate preactivate compile)
(ad-set-arg 1 t))
poof,现在调用(other buffer something)会导致(other buffer something t),并且缓冲区的可见性不会从切换到buffer的提示符中窃取它。您不能依赖常规的缓冲区列表,无论是全局的还是帧本地的——它们总是在变化,通常超出您的控制范围。您应该考虑使用ALP ACKER使用<代码>帧Bufs<代码>——它将缓冲区本地列表嵌入到帧参数中,以将选择缓冲区与某些帧相关联。要控制在某些帧中显示哪些缓冲区,请查看如何在文件打开前截取文件并确定是哪一帧:如果您喜欢选项卡的概念,下面的链接将frame bufs
的概念与tabbar
结合在一起,通过一个额外的自定义扭曲,可以在一个帧本地基础上动态添加和删除缓冲区的选择选项卡:所有这些都可以与上面注释的第二个链接中的概念结合在一起(在特定帧中显示缓冲区).您不能依赖于常规缓冲区列表,无论是全局缓冲区列表还是帧本地缓冲区列表--它们会一直更改,并且通常都是beyo