如何在Vim中有效地处理多个文件?
我开始使用Vim开发Perl脚本,并开始发现它非常强大。
我喜欢的一件事是能够使用例如vi main.pl maintenance.pl一次打开多个文件,然后在它们之间跳转:
:n
:prev
并查看打开哪个文件
:args
而要添加一个文件,我可以说:
:n test.pl
我期望的将会被添加到我的文件列表中,但是它会清除我当前的文件列表,并且当我键入:args我只打开test.pl
那么如何将文件添加到我的参数列表并将其删除?
为什么不使用标签(在Vim 7中引入)? 您可以使用:tabn和:tabp在标签之间切换:tabn使用:tabe <filepath>您可以添加一个新标签; 并使用常规:q或:wq关闭选项卡。 如果将:tabn和:tabp到您的F7 / F8键,则可以轻松地在文件之间切换。
如果没有那么多文件或者你没有Vim 7,你也可以将你的屏幕分割成多个文件:sp <filepath> 。 然后你可以用Ctrl + W在分屏之间切换,然后在你想要移动的方向上切换一个箭头键(或者代替箭头键,w代表下一代,W代表之前的分隔屏幕)
清单
要查看当前缓冲区的列表,我使用:
:ls
开盘
要打开一个新文件,我使用
:e ../myFile.pl
增强了选项卡的完成(将set wildmenu放入.vimrc )。
注意:您也可以使用:find哪个路径,但您需要先定制这些路径。
交换
要在所有打开的文件之间切换,我使用
:b myfile
与增强标签完成(仍然set wildmenu )。
注意:: :b#选择上次访问的文件,因此您可以使用它在两个文件之间快速切换。
使用Windows
Ctrl-W s和Ctrl-W v水平和垂直分割当前窗口。 你也可以使用:split和:vertical split ( :sp和:vs )
Ctrl-W w在打开的窗口间切换, Ctrl-W h (或j或k或l )在打开的窗口中导航。
Ctrl-W c关闭当前窗口, Ctrl-W o关闭除当前窗口之外的所有窗口。
用-o或-O标志启动vim将打开每个文件在其自己的分割中。
所有这些我都不需要Vim中的标签,我的手指找到了我的缓冲区,而不是我的眼睛。
注意:如果您希望所有文件都转到Vim的同一个实例,请使用--remote-silent选项启动Vim。
:ls
用于打开缓冲区列表
:bp前一个缓冲区 :bn下一个缓冲区 :bn ( n数字)移动到第n个缓冲器 :b <filename-part>与提供自动完成的tab-key(真棒!!) 在某些版本的vim中, bn和bp实际上分别是bnext和bprevious 。 在这种情况下,Tab自动完成功能很有用。
或者当您处于正常模式时,使用^切换到您正在处理的最后一个文件。
另外,您可以保存vim的会话
:mksession! ~/today.ses
上述命令将当前打开的文件缓冲区和设置保存为~/today.ses 。 您可以使用加载该会话
vim -S ~/today.ses
没有麻烦记住你昨天离开的地方。 ;)
链接地址: http://www.djcxy.com/p/3859.html