Emacs - Multiple columns one buffer

Emacs

Emacs Problem Overview


I'm trying to edit some assembly code which tends to be formatted in long but thin listings. I'd like to be able to use some of the acres of horizontal space I have and see more code on-screen at one time. Is there a method for getting Emacs (or indeed another editor) to show me multiple columns all pointing to the same buffer?

C-x 3 (emacs) and :vsplit (vim) are great for multiple separate views into the code, but I'd like it to flow from one column to the other (like text in a newspaper).

Emacs Solutions


Solution 1 - Emacs

See follow-mode. Excerpt:

Follow mode is a minor mode that makes two windows, both showing the same buffer, scroll as a single tall “virtual window.” To use Follow mode, go to a frame with just one window, split it into two side-by-side windows using C-x 3, and then type M-x follow-mode. From then on, you can edit the buffer in either of the two windows, or scroll either one; the other window follows it.

In Follow mode, if you move point outside the portion visible in one window and into the portion visible in the other window, that selects the other window—again, treating the two as if they were parts of one large window.

Solution 2 - Emacs

I use this function to invoke follow-mode, although it would need customization for a different screen size:

;;; 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))

Solution 3 - Emacs

The "Multipager" plugin for Vim can do this with VIM splits for people who want to get this behavior in Vim.

Get it from Dr. Chip's page: http://mysite.verizon.net/astronaut/vim/index.html#MPAGE

Docs: http://mysite.verizon.net/astronaut/vim/doc/mpage.txt.html

Solution 4 - Emacs

Vim can do this using :vsplit - and you can have the same buffer open in multiple "windows" (which are actually sections within a single "window").

Documentation here

Solution 5 - Emacs

A quick look at the www.emacswiki.org>emacs wiki doesn't show a mode like you describe. However, it shouldn't be too hard to write one... You just need to split the window with C-x 3 and move the text in the other window down, and whenever you move the text, do the same to the other window...

Problems may occur when you get to the bottom of the buffer, do you want the cursor to immediately go to the other window at the top?

Hmm, maybe its not that easy. But it should still be doable...

Solution 6 - Emacs

this is the default behaviour of emacs when splitting the window (C-x 3 for vertical split) you get two columns which both have the current buffer open

Solution 7 - Emacs

Use vertical-split with C-x 3. This will split the current buffer into two columns that you can switch between with C-x o.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
Questionuser119857View Question on Stackoverflow
Solution 1 - EmacshuaiyuanView Answer on Stackoverflow
Solution 2 - EmacsKragen Javier SitakerView Answer on Stackoverflow
Solution 3 - EmacsbheeshmarView Answer on Stackoverflow
Solution 4 - EmacsbrettkellyView Answer on Stackoverflow
Solution 5 - EmacsBrian PostowView Answer on Stackoverflow
Solution 6 - EmacssecondView Answer on Stackoverflow
Solution 7 - EmacsNathaniel FlathView Answer on Stackoverflow