2012-02-24 9 views
3

私は私の前にemacsを持っています。emacs grep windowsを他のウィンドウで使ってファイルを開くことはできますか?

私はfind-grepを実行しましたが、ヒット数が多く、ウィンドウに表示されます。ファイル名はハイパーリンクとして緑色で表示されます。

は私が作ることでウィンドウのみ、C-X 1.

私は、ファイル名をクリックすると、ウィンドウを垂直分割し、見つかったテキストを持つファイルは、他のウィンドウに表示されます。

さらにファイル名をクリックすると、新しいファイルが古いファイルに置き換えられます。これは実行したいことです。私は窓のサイズを変更する場合

はこれまでのところ、とても良い...

はしかし、Emacsは、定期的に(私がクリックしたときに)読みにくい表示をレンダリング、再び二つのウィンドウのいずれかを分割します。 2つの新しいウィンドウの間で新しいファイルを開くサイクルが繰り返されます。場合によっては、より多くのウィンドウを開き、状況を悪化させます。これらの新しいウィンドウのいずれかを閉じると、再び開くだけです。

実際には、私が何かのサイズを変更しなくても、この不正な動作が起こることがあります。私がすれば、もっと頻繁に起こるようです。

私は、emacsが立ち寄りを止め、grepウィンドウとdisplayウィンドウを1つしか持たず、常に新しいウィンドウで表示ウィンドウを置き換えたいと思います。私はまた、これらのウィンドウを最も便利に思えるサイズに設定したいと思っています。

これを達成する方法はありますか?

誰かが、このウィンドウの内容を置き換えたり、別のウィンドウの内容を置き換えたり、分割して別のウィンドウを作成したりする方法について、私にエッセイを教えてもらえますか?

+0

問題が発生していない状況が記述されているようです。実際の問題を再現する方法を詳述しておけば、それによって問題が大幅に明確になります。 – phils

+0

それは本当に私を半分驚かせてくれました。問題は編集で失われました。ごめんなさい。 –

答えて

2

ショート修正: これは、(水平または垂直)に自動的にウィンドウを分割からEmacsのを防ぐことができます。この

(setq split-height-threshold nil 
     split-width-threshold nil) 

をやってみてください。これは他の状況では望ましくないかもしれませんが、これは仕事をするはずです。 1週間ほどそれを試し、あなたの流れを混乱させるかどうか確認してください。

また、ポイントがウィンドウの1つにあり、リンクをクリックした場合、そのファイルが次のウィンドウ(もしあれば)で開かれていることがわかりました。

右ウィンドウ(複数のウィンドウがある場合)でファイルを開くには、そのウィンドウがウィンドウの前にあることを確認します。

回答時間:

OK。私は問題を再現できました。あなたがサイズを変更したため、Emacsは幅または高さがそれぞれのしきい値よりも大きく、同じように分割していることを知っているため、ファイルはかなり大きい(幅が広いまたは高さが高い)ことを示すウィンドウです。したがって、しきい値を高くするか、動作を完全に禁止する必要があります。取得するには(select-window foo-window)

  • - 現在のウィンドウを取得するには

    • から(selected-window)
    • 次のウィンドウを取得するには - ウィンドウを選択するには(next-window)
    • を:

      そして、ちょうど最後のいくつかの質問に答えます現在のウィンドウのバッファ - (current-buffer)

    • いくつかのウィンドウのバッファを取得する - (window-buffer foo-window)
    • は、ウィンドウのバッファを設定する - (set-window-buffer foo-window bar-buffer)

    私はあなたがこれらの機能を使用して一緒にまともなウィンドウ/バッファ管理機能をハックすることができます確信しています。

    C-h fを使用すると、これらの各機能の詳細を確認できます。 Elispマニュアルもチェックしてください。http://www.chemie.fu-berlin.de/chemnet/use/info/elisp/elisp_26.html

  • 関連する問題