我试图编辑一些汇编代码,这些代码通常以长而窄的清单格式排列。我想能够利用我拥有的大量横向空间,在屏幕上同时看到更多的代码。是否有一种方法可以让Emacs(或其他编辑器)向我显示多个指向同一缓冲区的列?
C-x 3 (在emacs中) 和 :vsplit (在vim中) 可以让您查看代码的多个分离视图,但我希望它可以从一列流动到另一列(就像报纸中的文本一样)。
我试图编辑一些汇编代码,这些代码通常以长而窄的清单格式排列。我想能够利用我拥有的大量横向空间,在屏幕上同时看到更多的代码。是否有一种方法可以让Emacs(或其他编辑器)向我显示多个指向同一缓冲区的列?
C-x 3 (在emacs中) 和 :vsplit (在vim中) 可以让您查看代码的多个分离视图,但我希望它可以从一列流动到另一列(就像报纸中的文本一样)。
请参考follow-mode。 摘录:
跟随模式是一种次要模式,它使两个窗口都显示相同的缓冲区,并且作为一个高大的“虚拟窗口”一起滚动。使用跟随模式,转到只有一个窗口的框架,使用C-x 3将其分成两个并排的窗口,然后键入M-x follow-mode。从那时起,您可以在两个窗口中的任何一个中编辑缓冲区或滚动其中一个,另一个窗口将跟随它。
在跟随模式下,如果将插入点移动到一个窗口可见部分之外并进入另一个窗口可见部分,则选择另一个窗口 - 再次像它们是一个大窗口的一部分一样。
我使用这个函数来调用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))
follow-mode
中将scroll-margin
设置为0
是有意义的。 - Erik Kaplun"Multipager"插件可以为想在Vim中获取此功能的用户使用Vim分割窗口实现此功能。
从Dr.Chip的网站上获取它:http://mysite.verizon.net/astronaut/vim/index.html#MPAGE
文档:http://mysite.verizon.net/astronaut/vim/doc/mpage.txt.html
:vsplit来实现此目标 - 您可以在多个“窗口”中打开相同的缓冲区(实际上是单个“窗口”中的不同部分)。详见此处文档。
:scrollbind
,你就可以实现这个功能了。 - bastibe快速查看emacs维基并没有显示出您所描述的模式。然而,编写一个类似的模式应该不会太难...您只需要使用C-x 3拆分窗口并将另一个窗口中的文本向下移动,并且每当您移动文本时,也要对另一个窗口执行相同的操作...
当您到达缓冲区底部时可能会出现问题,您是否希望光标立即转到另一个窗口的顶部?
嗯,也许这并不容易。但它仍然是可行的...
这是 Emacs 在分割窗口时的默认行为(使用 C-x 3 进行垂直分割),你会得到两列,两列都打开了当前缓冲区。
使用 C-x 3 进行垂直分屏。这将把当前缓冲区分成两列,可以使用 C-x o 在两列之间切换。