启动时在Emacs中选择其他窗口

启动时在Emacs中选择其他窗口,emacs,Emacs,假设我有两个文本文件A.txt和B.txt。我选择使用 emacs -no-splash -mm A.txt B.txt 现在,框架垂直分为两部分,文件A显示在左侧窗口中,文件B显示在右侧窗口中。但是,Emacs会自动选择文件B。我可以通过输入C-x o或ESC-:其他窗口1将点移动到其他窗口。但我希望自动执行此操作,例如在命令行或.emacs文件中 我试过了 emacs -no-splash -mm --eval `(other-window 1)` A.txt B.txt 但它不起作用。

假设我有两个文本文件A.txt和B.txt。我选择使用

emacs -no-splash -mm A.txt B.txt
现在,框架垂直分为两部分,文件A显示在左侧窗口中,文件B显示在右侧窗口中。但是,Emacs会自动选择文件B。我可以通过输入C-x o或ESC-:其他窗口1将点移动到其他窗口。但我希望自动执行此操作,例如在命令行或.emacs文件中

我试过了

emacs -no-splash -mm --eval `(other-window 1)` A.txt B.txt
但它不起作用。

将以下内容放入~/.emacs文件中:

添加钩子“emacs启动钩子”lambda在列表命令行args中选择第一个缓冲区 取消运行选择列表中的第一个缓冲区 让缓冲器 while列表 如果setq buffer获取文件缓冲车列表 程序选择窗口获取缓冲区窗口缓冲区 setq列表零 setq列表cdr列表
它将检查哪个命令行参数对应于缓冲区。它选择一个显示第一个这样的参数的缓冲区的窗口。

与命令行参数的顺序无关,这种方法找到最左边、最上面的窗口并选择它。将以下代码放入.emacs文件中:

添加钩子“emacs启动钩子”lambda选择左上角窗口 取消选中左上角窗口 让窗户 当设置“高于零t”方向的窗口时 选择窗口窗口 当设置“左零”方向的窗口时 选择窗口窗口
这将保留一个带有B.txt的窗口

emacs --find-file A.txt B.txt -Q -eval "(delete-other-windows)"

以下操作似乎有效:输入.emacs:


您不想在命令行上颠倒文件名的顺序,有什么原因吗?

谢谢,但我无法让它工作。。可能是因为我也在使用切换窗口分割功能,看到了吗?不,也许这根本不是问题所在。。我现在从.emacs中删除了切换窗口拆分,但它仍然不起作用。。窗户现在是水平分开的,不会有什么区别。您正在运行哪个版本的Emacs?你能把上面的代码放在一个空文件中,并用它代替你的常规.emacs文件吗?你会收到一条错误消息吗,还是它根本没有显示任何区别?我在Ubuntu 12.04上使用GNU emacs 23.3.1。我现在使用了一个空的.emacs,但它仍然不起作用。。我在Emacs消息缓冲区中没有收到任何错误消息。。
(add-hook 'emacs-startup-hook '(lambda () (other-window 1)))