如何在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