我已经开始使用 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
没有麻烦记住你昨天离开的地方。 ;)