Emacs - несколько столбцов один буфер - PullRequest
161 голосов
/ 09 июня 2009

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

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

Ответы [ 7 ]

245 голосов
/ 09 июня 2009

См. Режим следования . Выдержки:

Режим «Follow» - это второстепенный режим, в котором два окна, в обоих из которых отображается один и тот же буфер, прокручиваются как одно высокое «виртуальное окно». Чтобы использовать режим Follow, перейдите к кадру с одним окном, разделив его на два рядом. Windows, используя Cx 3, а затем введите Mx follow-mode. С этого момента вы можете редактировать буфер в любом из двух окон или прокручивать одно из них; за ним следует другое окно. В режиме «Follow», если вы перемещаете точку за пределы части, видимой в одном окне, и в часть, видимую в другом окне, это выбирает другое окно - снова, обрабатывая два, как если бы они были частями одного большого окна.
16 голосов
/ 24 июля 2011

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

Плагин "Multipager" для Vim может сделать это с помощью разделителей VIM для людей, которые хотят получить такое поведение в Vim.

Получите со страницы доктора Чипа: http://mysite.verizon.net/astronaut/vim/index.html#MPAGE

Документы: http://mysite.verizon.net/astronaut/vim/doc/mpage.txt.html

2 голосов
/ 09 июня 2009

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

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

0 голосов
/ 09 июня 2009

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

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

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

0 голосов
/ 09 июня 2009

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

0 голосов
/ 09 июня 2009

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...