有没有办法轻松打开以前作为水平拆分打开的文件作为vim中的垂直拆分?也许某些方法可以将这些命令的历史记录结合起来?
使用vim时,我经常会使用:sp
或:vsp
打开多个文件。稍后,当我想使用:sp
重新打开之前使用:vsp
打开的文件作为垂直拆分时,:vsp
的历史记录中不存在该路径,因此我必须查看:sp
的历史记录,然后将sp
更改为vsp
...
使用案例
:sp ../../some/very/long/annoying/to/type/path/to/a/file.cpp
:wq
...时间过去......
:vsp <up arrow>
(未找到,argh)
:sp <up arrow>
(找到,修改sp
至vsp
)
答案 0 :(得分:3)
使用:e
,:sp
,:vs
创建的缓冲区以及各种其他命令列在&#34;缓冲区列表&#34;中。如果要在垂直窗口中重新编辑其中一个缓冲区,则用于编辑文件的原始命令并不重要。你只需:
:vert sb <Tab>
Vim在会话之间保留已编辑文件的列表。要在垂直窗口中重新编辑以前编辑过的文件,请执行以下操作:
:oldfiles
(decide you want the number 15)
:vs#<15
答案 1 :(得分:2)
此:autocmd
会将每个:sp
/ :vsp
命令添加到命令行历史记录中相应的:vsp
/ :sp
命令,以便您可以回忆任何其他命令:
:autocmd! BufWinEnter * if histget(':', -1) =~# '^v\?sp\s' |
\ call histadd(':', substitute(histget(':', -1), '^v\?', '\=empty(submatch(0)) ? "v": ""', '')) |
\ endif
有几个插件提供最近打开的文件列表,例如
这也提供了不同的映射以打开(垂直)分割。这样,您就可以避免在调用之前决定拆分类型,并且只有文件的历史记录。