[Vim] usr_07
Notes Vim User Manual
Lastmod: 2022-01-17 周一 01:00:05

usr_07 编辑多个文件

07.1 编辑另一个文件

:edit <FILENAME>

需要先保存当前文件的修改,或者使用

:edit! <FILENAME>

放弃当前文件修改并打开另一个文件。

想编辑其他文件又不保存当前文件则可以先隐藏当前文件

:hide edit <FILENAME>

07.2 文件列表

可以在启动 vim 时打开多个文件

vim one.txt two.txt three.txt

这时 vim 会先打开第一个文件。进入下一个文件

:next

" 放弃修改并进入下一个文件
:next!

保存并进入下一个文件
:wnext

查看当前在哪个文件

:args

回到前一个文件

:previous

到最后一个文件

:last

到第一个

:first

对于 :next:previous 也可以使用计数前缀

:2next

可以设置自动保存,在文件间跳转时自动保存

:set autowrite

可以编辑文件列表而不必要退出 vim

:args one.c two.c three.c

如果还没编辑全部文件就退出,此时 vim 会给出错误提示,如果确实需要退出再执行一次退出命令即可。

07.3 从一个文件中跳转到另一个文件

跳转到上个文件

<CTRL-^>

跳转到文件后,可以使用

`"

跳转到上次离开的位置,或

`.

回到最后一次编辑的位置。

文件标记在不同文件中是独立的。

要知道一个标记在什么地方可以使用

:marks <MARK(S)>

07.4 备份文件

vim 通常不会产生备份文件。可以设置

:set backup

这样会生成原始文件后加 ~ 的备份文件。可以修改该扩展名

:set backupext=.bak

可以使用 backupdir 设置备份在的位置。

如果希望保留原始文件可以修改 patchmode 选项。

07.5 文件间拷贝

使用寄存器

拷贝一个句子到 f 寄存器

fyas

删除文本也可以指定寄存器。

添加到文本末尾

:w >> <FILENAME>

07.6 显示文件

只读显示

vim -R <FILENAME>

此时使用,可以进行修改,但 write 命令会给出警告。可以使用 :w! 强制写入。

如果禁止所有写入则

vim -M <FILENAME>

07.7 修改文件名

当前文件另存为

:saveas <ANOTHER-FILENAME>

下次保存的时候会存成其他文件名。

改变当前文件名

:file <ANOTHER-FILENAME>
Prev: [Vim] usr_06
Next: 《Learning Python》 笔记 第 1 章 问答环节