我已经开始使用Vim来开发Perl脚本,并开始发现它非常强大。
我喜欢的一件事是能够同时打开多个文件:
vi main.pl maintenance.pl
然后在他们之间跳来跳去
:n
:prev
然后查看哪个文件是打开的:
:args
要添加一个文件,我可以说:
:n test.pl
我希望它会被添加到我的文件列表中,但相反,它会清除我当前的文件列表,当我输入:args时,我只有test.pl打开。
那么我如何在我的args列表中添加和删除文件?
我已经开始使用Vim来开发Perl脚本,并开始发现它非常强大。
我喜欢的一件事是能够同时打开多个文件:
vi main.pl maintenance.pl
然后在他们之间跳来跳去
:n
:prev
然后查看哪个文件是打开的:
:args
要添加一个文件,我可以说:
:n test.pl
我希望它会被添加到我的文件列表中,但相反,它会清除我当前的文件列表,当我输入:args时,我只有test.pl打开。
那么我如何在我的args列表中添加和删除文件?
当前回答
:ls
用于打开缓冲区的列表
:bp前一个缓冲区 :bn下一个缓冲区 :bn (n个数字)移动到第n个缓冲区 :b <filename-part> with tab-key提供自动补全功能(太棒了!!)
在某些版本的vim中,bn和bp实际上分别是bnext和bprevious。Tab自动补全在这种情况下很有用。
或者当您处于正常模式时,使用^切换到您正在处理的最后一个文件。
另外,您可以保存vim的会话
:mksession! ~/today.ses
上面的命令将当前打开的文件缓冲区和设置保存到~/today.ses。您可以使用
vim -S ~/today.ses
记起昨天讲到哪里就不麻烦了。;)
其他回答
我认为您在查看已打开的文件列表时可能使用了错误的命令。
尝试执行一个:ls来查看你已经打开的文件列表,你会看到:
1 %a "./checkin.pl" line 1
2 # "./grabakamailogs.pl" line 1
3 "./grabwmlogs.pl" line 0
etc.
然后,您可以通过引用列出的数字来浏览文件,例如: b: 3
或者你可以通过输入数字,但使用sb而不是b来分割屏幕。
作为旁白,%表示当前可见的文件,#表示备用文件。
您可以通过按Ctrl Shift 6在这两个文件之间轻松切换
编辑:像:ls,你可以使用:reg来查看你的寄存器的当前内容,包括0-9寄存器,其中包含你已经删除的内容。如果您想重新使用以前删除的文本,这尤其有用。
Vim(但不是原始的Vi!)有制表符,我发现(在许多情况下)比缓冲区更好。你可以说:table [filename]在新选项卡中打开一个文件。标签之间的循环是通过点击标签或组合键[n]gt和gt来完成的。graphic Vim甚至有图形标签。
我建议使用插件
书树
这里是github链接的说明。
书树
我使用vim-plug作为插件管理器,但你也可以使用Vundle。
我来-plug
冯德尔
您可能希望使用Vim全局标记。
通过这种方式,您可以快速地在文件之间来回切换,甚至跳转到文件中标记的位置。此外,关键命令也很短: C会带我找到我正在处理的代码, T把我带到了我正在使用的单元测试。
当你改变位置时,重置标记也很快: mC标记新的代码点, mT标志着新的测试点。
:ls
用于打开缓冲区的列表
:bp前一个缓冲区 :bn下一个缓冲区 :bn (n个数字)移动到第n个缓冲区 :b <filename-part> with tab-key提供自动补全功能(太棒了!!)
在某些版本的vim中,bn和bp实际上分别是bnext和bprevious。Tab自动补全在这种情况下很有用。
或者当您处于正常模式时,使用^切换到您正在处理的最后一个文件。
另外,您可以保存vim的会话
:mksession! ~/today.ses
上面的命令将当前打开的文件缓冲区和设置保存到~/today.ses。您可以使用
vim -S ~/today.ses
记起昨天讲到哪里就不麻烦了。;)