4

1 つのウィンドウに表示されるファイルから始めます。次に、分割ウィンドウを実行するため、両方のウィンドウに同じ内容が表示されます (同じバッファーポイント)。

2 つのウィンドウのうちの 1 つのみでブックマークを介してファイル内の別の場所にジャンプしたいのですが、ブックマーク ジャンプを実行すると、両方のウィンドウがブックマークのポイントで終了します。

他のウィンドウのポイントは放っておいてください。

どうすればこれを設定できますか?

ありがとう

(Linux、GNU Emacs 23.2.1 で実行; xemacs はこのようには動作しません)


追記:

私がやりたいのは、両方のウィンドウに同じファイルを表示することです。一方のウィンドウ (w1) にはファイルのセクションが表示され、もう一方のウィンドウ (w2) にはさまざまなブックマークを使用して、さまざまなセクションにジャンプします。 、一方 w1 の位置は変わりません。

4

6 に答える 6

1

これはあなたの質問に直接答えるものではありませんが、あなたの問題に対する別の解決策を提供します。表示されるブックマークにはbm.elを使用します。同じファイルが 2 つのウィンドウで表示されている場合、表示されているブックマークを使用してジャンプしても、現在のバッファー内のポイントのみが変更されます。

パッケージを次のように構成しました。

(require 'bm)
(setq bm-highlight-style 'bm-highlight-only-fringe)

(global-set-key (kbd "<C-f2>") 'bm-toggle)
(global-set-key (kbd "<f2>") 'bm-next)
(global-set-key (kbd "<S-f2>") 'bm-previous)
于 2011-06-02T04:08:40.453 に答える
1

直接的な答えがあるかもしれませんが、一般的に、複数のウィンドウで同じバッファーを表示すると、あらゆる種類のものが不便になることがわかりました。間接バッファーの使用をお勧めします。実行M-x clone-indirect-bufferして別のバッファを作成するか、C-x 4 c( clone-indirect-buffer-other-window) を実行して新しいバッファを別のウィンドウにも表示します。間接バッファには元のバッファと同じ内容があり、保存すると同じファイルに保存されますが、バッファには

  • 独立したポイント、マーク、マーカー;
  • 独立モード (より一般的には独立ローカル変数);
  • 独立したビュー (絞り込み、非表示のテキスト、顔など)。
于 2011-06-01T21:17:23.877 に答える
1

ブックマーク + および自動名前付きブックマーク (Cx p RET / Cx pn / Cx pp) で clone-indirect-buffer-other-window を使用すると、希望どおりに動作します。クローンがなければ、bookmark+ にも同じ問題があるようです。

于 2012-07-23T22:26:13.373 に答える
0

私はこの関数 (インターネットからコピーしたことを誓います) を使用して分割を行います。これを使用すると、あなたが何を得ることができると思いますが、行う順序は逆です。

1) ブックマークを使用して別のファイルを開きます。
2) ウィンドウを分割します。

;;----------------------------------------------------------------------------
;; When splitting window, show (other-buffer) in the new window
;;----------------------------------------------------------------------------
(defun split-window-func-with-other-buffer (split-function)
  "dont just dumb split window, change buffer as well"
  (lexical-let ((s-f split-function))
    (lambda ()
      (interactive)
      (funcall s-f)
      (set-window-buffer (next-window) (other-buffer)))))

(global-set-key "\C-x2"
        (split-window-func-with-other-buffer 'split-window-vertically))
(global-set-key "\C-x3"
        (split-window-func-with-other-buffer 'split-window-horizontally))
于 2011-06-02T18:37:45.567 に答える
0

Bookmark+を試してみてください。あなたが説明したように、他のウィンドウのウィンドウポイントは変更されません。

于 2011-11-02T16:06:15.600 に答える
0

自分の質問に答える(数年後):

この望ましくない動作を「修正」したemacs 24(24.3.1)の使用を開始しました。

于 2014-02-25T19:02:20.427 に答える