2009-06-09 179 views
153

我試圖編輯一些彙編代碼,它往往被格式化在漫長而薄的列表中。我希望能夠使用我所擁有的一些水平空間,並且一次在屏幕上看到更多的代碼。有沒有一種方法讓Emacs(或者其他編輯器)向我展示多列都指向相同的緩衝區?我們希望它能夠從一列到另一列(如報紙中的文本)。C-x 3(emacs)和:vsplit(vim)非常適合代碼中的多個單獨視圖。Emacs - 多列一個緩衝區

+1

CX 3和:vsplit非常適合代碼中的多個單獨視圖,但我希望它從一列流向另一列(如報紙中的文本) – user119857 2009-06-09 14:24:03

+0

謝謝!我愛上了4-6個列代碼查看,我嘗試將所有代碼格式化爲30-40個字符,我非常喜歡這個結果 - 通過縮短所有行,不僅僅是自然短小,空間少得多被浪費了,我所有的屏幕空間都用來顯示文本;另外,代碼塊變得更加二維,減輕了視覺理解和結構監督。 – 2016-01-08 01:38:00

回答

235

follow-mode。 摘錄:

跟隨模式是次要的模式,使兩個窗口,都顯示相同的緩衝區,滾動作爲一個高大要使用跟隨模式,去框只有一個窗口,分裂「虛擬窗口。」它使用Cx 3併入兩個並排窗口,然後鍵入Mx跟隨模式。從此,您可以在兩個窗口中的任何一箇中編輯緩衝區,或者滾動任一個;另一個窗口跟着它。 在跟蹤模式下,如果你在一個窗口中的可見部分之外,進入另一個窗口中可見部分移動點,即選擇其他窗口再次,處理兩個就好像它們是一個大亮點的部分。
-5

這是emacs的默認行爲分割窗口(CX 3垂直分割) 當你拿到兩列二者均具有開放當前緩衝區

+1

但是在這種情況下,它並不處於跟隨模式。跟隨模式將確保每個緩衝區都位於「下一頁」,這樣您就可以通過移動眼睛而不是移動點來讀取緩衝區。 – jrockway 2011-07-23 21:23:06

2

Vim可以做到這一點使用:vsplit - 你可以有相同的緩衝區在多個「窗口」中打開(這實際上是單個「窗口」中的部分)。

Documentation here

+2

emacs也可以做到這一點,正如問題中提到的那樣,但這不是被問到的。 – justinhj 2009-06-15 20:52:26

+1

這個問題在我回復後進行了編輯。 – inkedmn 2009-06-16 13:24:38

+1

結合`:scrollbind`,你就在那裏。 – bastibe 2011-07-24 09:10:48

-7

使用垂直分割與C-X 3,這將當前緩衝區分成兩列,可以用C-×○之間切換。

-1

快速瀏覽一下Emacs的維基像你描述的不顯示模式。然而,它不應該是太寫一個...你只需要到窗口CX 3分裂和移動在其他窗口中的文本下來,當你移動文本,做同樣的其他窗口...當你到了緩衝區的底部可能會出現

問題,你要光標立即去其他窗口的頂部?

嗯,也許它不那麼容易。但它仍然應該是可行的......

16

我用這個函數來調用follow-mode,儘管這需要定製了不同的屏幕尺寸:

;;; I want a key to open the current buffer all over the screen. 
(defun all-over-the-screen() 
    (interactive) 
    (delete-other-windows) 
    (split-window-horizontally) 
    (split-window-horizontally) 
    (balance-windows) 
    (follow-mode t))