如何在Vim内用类似-O的方式批量打开文件到标签页/分栏?
哈哈,这个问题我太熟了!Vim确实没有直接对应-O的单命令来批量操作,但咱们可以用内置的命令组合来实现,分两种情况给你唠唠:
一、批量将文件打开到新标签页
如果想把多个文件各自放到独立的标签页里,有两种好用的方法:
- 方法1:参数列表 +
argdo命令
先把要打开的文件加入参数列表::args file1.txt file2.txt file3.txt
接着执行这条命令,每个文件就会在新标签页打开::argdo tabe %
要是之前参数列表有残留内容,先敲:args!清空就行。 - 方法2:循环命令
不想动参数列表的话,直接写个循环也很方便::for f in ['file1.txt', 'file2.txt', 'file3.txt'] | execute 'tabe' f | endfor
如果是批量处理同类型文件(比如所有Python脚本),用glob函数自动匹配更高效::for f in glob('*.py') | execute 'tabe' f | endfor
二、当前标签页内批量垂直分栏打开文件(类似启动时的
-O效果) 这个就是你想要的「在当前标签页里批量垂直分栏」的操作,两种方法都很实用:
- 方法1:参数列表 +
vert sball
先把目标文件加入参数列表::args file1.txt file2.txt file3.txt
然后执行这条命令,瞬间就能得到和vim -O file1 file2 file3一模一样的垂直分栏效果::vert sball - 方法2:链式分栏命令
如果文件数量不多,直接链式写命令更直观::vsp file1.txt | vsp file2.txt | vsp file3.txt
它会从当前窗口开始,依次在右侧创建垂直分栏并打开对应文件。想要水平分栏的话,把vsp换成sp就OK。
最后补个小技巧:分栏后要是窗口大小参差不齐,敲:wincmd =就能让所有窗口自动调整到均等尺寸~
内容的提问来源于stack exchange,提问作者fde-capu
相关产品推荐
相关产品推荐

