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))
Ответ 3
Плагин "Multipager" для Vim может сделать это с помощью разделов VIM для людей, которые хотят получить это поведение в Vim.
Получите его на странице Dr. Chip: http://mysite.verizon.net/astronaut/vim/index.html#MPAGE
Документы: http://mysite.verizon.net/astronaut/vim/doc/mpage.txt.html
Ответ 4
Vim может сделать это с помощью :vsplit
- и вы можете открыть один и тот же буфер в нескольких "окнах" (которые фактически являются срезами внутри одного "окна" ).
Документация здесь
Ответ 5
Быстрый просмотр вики emacs не показывает режим, который вы описываете. Тем не менее, это не должно быть слишком трудно написать одно... Вам просто нужно разбить окно на Cx 3 и переместить текст в другое окно вниз, и всякий раз, когда вы перемещаете текст, делайте то же самое в другое окно...
Проблемы могут возникнуть, когда вы дойдете до нижней части буфера, хотите ли вы, чтобы курсор сразу перешел в другое окно вверху?
Хм, может быть, это не так просто. Но это все равно быть выполнимым...
Ответ 6
это поведение emacs по умолчанию при разбиении окна (C-x 3 для вертикального разделения)
вы получаете два столбца, у которых есть текущий буфер, открытый
Ответ 7
Используйте вертикальное разделение с C-x 3. Это разделит текущий буфер на два столбца, которые вы можете переключаться между C-x o.