假设我有两个文本文件A.txt
和B.txt
。我选择使用
emacs -no-splash -mm A.txt B.txt
现在框架垂直分成两部分,文件A显示在左侧窗口中,文件B显示在右侧窗口中。但是,Emacs会自动选择文件B.我可以输入C-x o
或ESC-: (other-window 1)
将该点移动到其他窗口。但我想自动执行此操作,例如在命令行或.emacs
文件中。
我试过
emacs -no-splash -mm --eval `(other-window 1)` A.txt B.txt
但它不起作用..
答案 0 :(得分:1)
将以下内容放入~/.emacs
文件中:
(add-hook 'emacs-startup-hook '(lambda () (select-first-buffer-in-list command-line-args)))
(defun select-first-buffer-in-list (list)
(let (buffer)
(while list
(if (setq buffer (get-file-buffer (car list)))
(progn (select-window (get-buffer-window buffer))
(setq list nil))
(setq list (cdr list))))))
它将检查哪个命令行参数对应于缓冲区。它选择一个窗口显示第一个这样的参数的缓冲区。
答案 1 :(得分:1)
以下似乎有效:输入.emacs
:
(add-hook 'emacs-startup-hook '(lambda () (other-window 1)))
答案 2 :(得分:0)
独立于命令行参数的顺序,此方法找到最左侧,最上面的窗口并选择它。将以下代码放在.emacs文件中:
(add-hook 'emacs-startup-hook '(lambda () (select-upper-left-window)))
(defun select-upper-left-window ()
(let (window)
(while (setq window (window-in-direction 'above nil t))
(select-window window))
(while (setq window (window-in-direction 'left nil t))
(select-window window))))
答案 3 :(得分:0)
这会使单个窗口保持“B.txt”
emacs --find-file A.txt B.txt -Q -eval "(delete-other-windows)"
答案 4 :(得分:0)
您是否有理由不想在命令行中反转文件名的顺序?