Emacs - Несколько столбцов один буфер

Я пытаюсь отредактировать код сборки, который, как правило, отформатирован в длинных, но точных списках. Я хотел бы иметь возможность использовать некоторые из акров горизонтального пространства, которые у меня есть, и видеть больше кода на экране за один раз. Есть ли способ получить Emacs (или даже другой редактор), чтобы показать мне несколько столбцов, указывающих на один и тот же буфер?

C-x 3 (emacs) и: vsplit (vim) отлично подходят для нескольких отдельных представлений в коде, но я бы хотел, чтобы он перетекал из одной колонки в другую (например, текст в газете).

Ответ 1

См. follow-mode. Выдержки:

Режим "Слежение" - это второстепенный режим, который делает два окна, отображая один и тот же буфер, прокручивая как одно высокое "виртуальное окно". Чтобы использовать режим Follow, перейдите к кадру только с одним окном, разделите его на два боковых окна с помощью C-x 3, а затем введите M-x follow-mode. С этого момента вы можете редактировать буфер в любом из двух окон или прокручивать один из них; другое окно следует за ним. В режиме "Слежение", если вы перемещаете точку вне части, видимой в одном окне, и в часть, видимую в другом окне, которая снова выбирает другое окно, обрабатывая два, как если бы они были частями одного большого окна.

Ответ 2

Я использую эту функцию для вызова 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))

Ответ 4

Vim может сделать это с помощью :vsplit - и вы можете открыть один и тот же буфер в нескольких "окнах" (которые фактически являются срезами внутри одного "окна" ).

Документация здесь

Ответ 5

Быстрый просмотр вики emacs не показывает режим, который вы описываете. Тем не менее, это не должно быть слишком трудно написать одно... Вам просто нужно разбить окно на Cx 3 и переместить текст в другое окно вниз, и всякий раз, когда вы перемещаете текст, делайте то же самое в другое окно...

Проблемы могут возникнуть, когда вы дойдете до нижней части буфера, хотите ли вы, чтобы курсор сразу перешел в другое окно вверху?

Хм, может быть, это не так просто. Но это все равно быть выполнимым...

Ответ 6

это поведение emacs по умолчанию при разбиении окна (C-x 3 для вертикального разделения) вы получаете два столбца, у которых есть текущий буфер, открытый

Ответ 7

Используйте вертикальное разделение с C-x 3. Это разделит текущий буфер на два столбца, которые вы можете переключаться между C-x o.