是否有一种编辑器可以选择将屏幕“拆分”为两个或多个部分,访问多个文件(可能使用文件树)而无需一次打开更多编辑器窗口,以及如何做到这一点(什么是命令)。
我不知道我是否说清楚了,但“分屏”是描述我想要实现的目标的唯一方式。我想用它来编程,打开多个文件进行编辑。请注意,我对 vi 和 emacs 都很陌生,如果它们能够做到这一点的话。另外,如果必须通过终端编辑器完成此操作,是否可以在同一终端中完成,无论屏幕大小如何?
答案1
vim
可以轻松做到这一点:
ctrl+ ws- 分割窗口
ctrl+ ww- 在窗口之间切换
ctrl+ wq- 退出窗口
ctrl+ wv- 垂直分割窗口
:sp filename
将在新缓冲区中打开filename
并拆分一个窗口。
你也可以做
vim -o file1 file2
以分屏布局打开文件。替换-o
为-O
垂直分割而不是水平分割。
答案2
这可以使用 Emacs 来完成。它在 GUI 和终端模式下工作。您甚至可以多次拆分。以下是一些基本的组合键:
CX 2 将选定的窗口拆分为两个窗口,一个在另一个窗口之上(split-window-below)。
CX 3 将选定的窗口拆分为两个并排放置的窗口(split-window-right)。
C-鼠标-2 在窗口的模式行中,分割该窗口。
来源:http://www.gnu.org/software/emacs/manual/html_node/emacs/Split-Window.html
答案3
使用 vim,您可以使用split
或vsplit
。
第一个将水平分割,第二个将垂直分割。
CTRLw然后通过分屏导航。
您还可以使用选项卡。tabnew filename
将在新选项卡中打开文件名。您可以使用tabnext
和:tabprevious
在选项卡之间导航。
我亲自映射了左右箭头以在选项卡之间导航:
map <right> :tabnext<CR>
map <left> :tabprevious<CR>
inoremap <right> <ESC>:tabnext<CR>a
inoremap <left> <ESC>:tabprevious<CR>a
答案4
joe
(乔自己的编辑)也可以这样做:
ctrl+ ko- 水平分割窗口
ctrl+ kp- 切换到上一个窗口
ctrl+ kn- 切换到下一个窗口
ctrl+ ke- 在当前窗口中打开新文件
ctrl+ kg- 增加当前窗口的高度
ctrl+ kt- 缩小当前窗口的高度
ctrl+ ki- 隐藏除当前窗口之外的所有窗口,再按一次即可再次显示所有窗口
ctrl+c或ctrl+ kx- 关闭窗口