我试图编辑一些汇编代码,这往往是格式化的长,但清单。我希望能够使用一些英亩的水平空间,我有,看到更多的代码在屏幕上一次。有没有一种方法可以让 Emacs (或者其他编辑器)显示多个列都指向同一个缓冲区?
C-x3(emacs)和: vsplit (vim)对于代码中的多个独立视图非常有用,但我希望它们能从一个栏目流向另一个栏目(就像报纸上的文本)。
这是 emacs 在分割窗口时的默认行为(C-x3表示垂直分割) 你会得到两列都打开了当前缓冲区
Vim 可以使用 :vsplit来实现这一点——并且您可以在多个“窗口”(实际上是单个“窗口”中的部分)中打开相同的缓冲区。
:vsplit
文件在此
使用 C-x3的垂直分割。这将把当前缓冲区分成两列,您可以使用 C-x o 在两列之间切换。
快速浏览一下 emacs wiki 并不会显示您所描述的模式。但是,写一个 也是应该不难... ... 你只需要用 C-x3分割窗口,然后向下移动另一个窗口中的文本,当你移动文本时,对另一个窗口也做同样的事情... ..。
当您到达缓冲区的底部时,可能会出现问题,您是否希望光标立即转到顶部的另一个窗口?
嗯,也许没那么简单,但应该还是可行的..。
参见 跟踪模式。 节选:
遵循模式是一种次要模式,它使两个窗口显示相同的缓冲区,作为一个单独的高“虚拟窗口”滚动要使用 Follow 模式,转到只有一个窗口的框架,使用 C-x3将其分割为两个并排的窗口,然后键入 M-x Follow-mode。从那时起,您可以在两个窗口中的任何一个中编辑缓冲区,或者滚动其中一个; 另一个窗口紧随其后。 在“跟随”模式下,如果将指针移出一个窗口中可见的部分,并移入另一个窗口中可见的部分,则会选择另一个窗口ーー同样,将这两个窗口视为一个大窗口的一部分。
VIM 的“ Multipager”插件可以为那些希望在 VIM 中获得这种行为的人使用 VIM 分割来实现这一点。
从奇普医生的页面上找到的 http://mysite.verizon.net/astronaut/vim/index.html#MPAGE
医生: http://mysite.verizon.net/astronaut/vim/doc/mpage.txt.html
我使用这个函数来调用 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))