新しいウィンドウを開いて切り替えます


8

私は、例えばと、新しいウィンドウを開いてると仮定しC-x 2たりC-x 3、バッファが開き、私は手でそれに切り替える必要がありC-x o。1つのコマンドでこれを行うための組み込みソリューションはありますか?または、上記を変更することもクールです。

回答:


9

Dawid Eckertによって記述され、彼のgithub emacs.configで公開された次のコードは、新しく作成されたバッファーにカーソルを移動します。

(defun split-and-follow-horizontally ()
  (interactive)
  (split-window-below)
  (balance-windows)
  (other-window 1))
(global-set-key (kbd "C-x 2") 'split-and-follow-horizontally)

(defun split-and-follow-vertically ()
  (interactive)
  (split-window-right)
  (balance-windows)
  (other-window 1))
(global-set-key (kbd "C-x 3") 'split-and-follow-vertically)

8

C-x4bswitch-to-buffer-other-window指定されたバッファに切り替えて実行します(ただし、作成されるのは、表示されるバッファが1つだけです)。

より高度な動作を行うには、関数を自分で実装する必要があります。前述の関数の実装を調べてインスピレーションを得ることができます。

(defun switch-to-buffer-other-frame (buffer-or-name &optional norecord)
  "..."
  (interactive
   (list (read-buffer-to-switch "Switch to buffer in other frame: ")))
  (pop-to-buffer buffer-or-name display-buffer--other-frame-action norecord))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.