回答:
同じバッファを複数のウィンドウで開くことができます(異なるフレームに分散することができます)が、あまり便利ではありません。各ウィンドウには独自のポイントがありますが、ポイント以外はほとんどすべての特性がバッファに関連付けられているため、マーク、ファイルモード、絞り込みなどの特性をすべて共有しています。また、あるウィンドウで別のバッファにアクセスすると、ファイル内の場所が失われます。
独自のポイント、マーク、モードなどを持つが、元のバッファーと同じコンテンツを持つ(およびどちらかのバッファー書き込みを同じファイルに保存する)間接バッファーを作成できます。現在のバッファーのクローンである2番目のバッファーを作成するには、を実行しM-x clone-indirect-buffer RET
ます。別のウィンドウでその2番目のバッファーを開くには、と入力しC-x 4 c
ます。
C-x 4 c
実行しますclone-indirect-buffer-other-window
。そのためclone-indirect-buffer
、コマンドの代わりにの代わりにこれが使用されます。しかし、私のシステムでは、これらのコマンドは両方とも同じことをしているように見えます。
C-x 4
は、Windowsのプレフィックスでc
、cloneのプレフィックスです。必要に応じて、他のバインディングを定義できます。C-x c
デフォルトの設定では使用されていませんが、誤ってヒットC-x C-c
することを恐れない場合は、代わりに使用できます。C-x 5 c
initファイルの新しいフレームにクローンを作成することを定義します。
分割画面モード:ctrl+ xは、Ctrlキーを押しながらxを入力することを意味します。次に、次の番号を入力します。
ctrl+ x2(水平分割)
または
ctrl+ x3(垂直分割)
次に、同じファイルで個別にスクロールしたり、必要に応じて別のバッファを開いたりできます。
単一のビュータイプに戻るには
ctrl+ x1
必要に応じて、各画面(セクション)を必要な回数だけ分割できます。最初に分割する画面を選択してから、その画面で水平または垂直の分割を実行します。
C-x o
実行other-window
および循環します。(ウィンドウマネージャーウィンドウはフレームと呼ばれ、その中の別のパネルはウィンドウと呼ばれるemacs構成を使用します(私は知っていますが、私は知っていますが、私は責任を負いません)。)
Emacsは、フレームではなくペイン(ウィンドウ)に偏っています。同じフレームの別のウィンドウだけでなく、別のフレームで同じバッファを開くことが望ましい場合がよくあります。しかしC-x 5 c
、デフォルトではバインドされていません。このコードは、欠落しているclone-indirect-buffer-other-frame
機能を定義します。
(global-set-key [?\C-x ?5 ?c]
'(lambda(newname display-flag)
"Like `clone-indirect-buffer-other-window' but display in another frame."
(interactive
(progn
(if (get major-mode 'no-clone-indirect)
(error "Cannot indirectly clone a buffer in %s mode" mode-name))
(list (if current-prefix-arg
(read-buffer "Name of indirect buffer: " (current-buffer))) t)))
(save-window-excursion
(let ((newbuf (clone-indirect-buffer newname display-flag)))
(switch-to-buffer-other-frame newbuf)
)
)
)
)