我已经开始使用 Vim 开发 Perl 脚本,并开始发现它非常强大。
我喜欢的一件事是能够使用例如vi main.pl maintenance.pl一次打开多个文件,然后在它们之间跳转:
:n
:prev并查看打开的文件
:args要添加文件,我可以说:
:n test.pl我希望它会被添加到我的文件列表中,但它会清除我当前的文件列表,当我输入:args我只打开test.pl
那么我怎样才能将文件添加到我的 args 列表中并将其删除?
为什么不使用标签(在 Vim 7 中引入)?您可以使用:tabn选项在选项卡之间切换:tabn和:tabp ,使用:tabe <filepath>可以添加新选项卡; 并使用常规:q或:wq你关闭一个标签。如果将:tabn和:tabp到F7 / F8键,则可以轻松切换文件。
如果没有那么多文件或者您没有 Vim 7,您还可以将屏幕分成多个文件:sp <filepath> 。然后你可以用Ctrl + W切换分屏,然后在想要移动的方向上切换一个箭头键(或者代替箭头键, w代表 next, W代表前一个分屏)
要查看当前缓冲区列表,我使用:
:ls要打开一个新文件,我使用
:e ../myFile.pl增强的选项卡完成(在.vimrc set wildmenu )。
注意:您还可以使用:find将为您搜索一组路径,但您需要首先自定义这些路径。
要在所有打开的文件之间切换,我使用
:b myfile增强的选项卡完成(仍然set wildmenu )。
注意:: :b#选择上次访问的文件,因此您可以使用它在两个文件之间快速切换。
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 键提供自动完成功能(真棒!!) 在某些版本的 vim 中, bn和bp实际上分别是bnext和bprevious 。选项卡自动完成在这种情况下很有用。
或者当您处于正常模式时,使用^切换到您正在处理的最后一个文件。
另外,您可以保存 vim 的会话
:mksession! ~/today.ses上面的命令将当前打开的文件缓冲区和设置保存到~/today.ses 。您可以使用加载该会话
vim -S ~/today.ses没有麻烦记住你昨天离开的地方。 ;)