VIM学习笔记 参数(Arguments)

启动参数

在启动vim时,可以指定多个文件做为参数,例如以下操作系统命令将打开多个文件,并显示第一个文件:

$ vim file1.txt file2.txt file3.txt

参数(Arguments)和缓冲区(Buffer)是不同的概念。早在Vi时期,就存在参数概念;而缓冲区则是在Vim之中新引进的。参数列表中的所有文件名,都会同时存在于缓冲区列表之中;但并不是所有缓冲区列表中的文件名,也都会出现在参数列表之中。

例如在启动vim之后,使用以下命令打开并编辑文件:

:e file4.txt

此时显示以下3个参数:

args_3

args_3

而缓冲区则为4个:

args_4.jpg

args_4

参数列表

命令:args可以列示打开的多个文件,并用中括号“[]”标识出正在编辑的文件名。

args

args

如果在命令中指定了文件名列表,那么可以打开多个文件:

:args *.txt

切换多个文件

可以使用:argument命令,直接切换到指定的文件。例如以下命令,将切换至列表中的第三个文件:

:argument 3

需要切换到下一个文件时,可以输入:next命令,如果你没有保存当前文件的修改,vim将给出提示信息,不允许切换到下一文件。输入:write:next命令,则可以保存并切换到第二个文件(此命令也可简写为:wnext)。

使用:next!命令,可以强制切换到第二个文件,但所做改动也将会丢失。使用:set autowrite命令打开自动保存功能,可以避免数据丢失的意外情况;而命令:set noautowrite则可以关闭自动保存功能。

如果想要回到上一个文件,可以使用:previous或是:Next命令。如果要保存当前文件并切换到前一文件,可以使用:wprevious或是:wNext命令。

Vim将当前文件(current filename)标记为“%”;而将之前的交换文件(alternate filename)标记为“#”。

使用:e #命令,也可以切换到上一个文件中;如果当前文件没有保存,则会提示进行保存或者放弃。

如果希望放弃当前的文件编辑,并直接返回上一个文件中,那么可以使用:e! #命令。

使用:r #命令, 可以将上一文件的内容读入(粘贴)到当前文件中。

由于在编辑多文件的过程中,经常需要切换到之前的文件,因此提供快捷键ctrl+^进行快速切换。

使用:first:rewind命令,可以快速切换到第一个文件;而:last命令,则可以快速切换到最后一个文件。

命令小结
:next切换到下一文件
:wnext保存后切换到下一文件
:previous切换到上一文件
:Next
:wprevious保存后切换到上一文件
:wNext
:first切换到第一个文件
:last切换到最后一个文件
:set autowrite打开自动保存功能
:set noautowrite关闭自动保存功能
:args显示正在编辑的文件名
:argument [N]切换至第N号文件

Ver: 2.0 | YYQ<上一篇 | 目录 下一篇>