発生したテキストをバッファの中央に配置できますか?


7

オカレンスバッファーから項目を選択すると、強調表示された行が表示画面の一番下にあります。これは、画面の25%から50%下がるほど役に立ちません(そのため、見つかった行の周りのテキストを読みやすくなります)。これは可能ですか?

回答:


9

あなたの言う行動はまったくわかりません。私にとって、バッファ内のオカレンスを選択する*Occur*と、ソースバッファ内のオカレンスにアクセスし、そのスマックをソースバッファウィンドウの中央に(垂直に)配置します。

しかし、あなたが何を説明しているのかがわかったら、ウィンドウを再配置するコードをに追加してくださいoccur-mode-find-occurrence-hook

このようなもの。任意の比較条件を使用できます。ここでは「上または下から10行以内」を使用しましたが、パーセンテージなども使用できます。

(defun foo ()
  (let ((line   (line-number-at-pos)))
    (cond ((<= line (+ (line-number-at-pos (window-start)) 10))
           (recenter 10))
          ((>= line (- (line-number-at-pos (window-end)) 10))
           (recenter -10)))))

(add-hook 'occur-mode-find-occurrence-hook 'foo)

1
うん、それでいいよ。OPの動作、FWIWを取得します。
ダン

じゃあ、そうじゃない。 emacs -QMS Windows 7の場合。オカレンスRETバッファーでクリック(または使用)したヒットは、ソースバッファーの垂直方向の中央に表示されます。
ドリュー

その通りですemacs -Q(Linuxの場合)。何かがどこかに埋まらなければならないのがセットアップです。
ダン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.