vim同时打开两个文件的命令(打开文件跳转到指定行)(1)

本篇文章介绍 vim 的一些使用技巧:

打开文件时光标自动跳转到指定行

在 vim 中,可以用下面命令指定打开文件后,自动跳转到哪一行:

vim [num] filename

这个命令会在打开 filename 文件时,光标自动跳转到 num 行。这个 num 是可选值。如果没有提供该参数,只写为 时,则自动跳转到文件末尾。

即,vim filename 命令在打开 filename 文件时,光标会自动跳转到文件末尾。

查看 man vim 的说明如下:

[num]
For the first file the cursor will be positioned on line "num". If "num" is missing, the cursor will be positioned on the last line

在实际使用时,也可以先写文件名,再写 [num]。例如,vim filename 4 命令会在打开 filename 文件时,自动跳转到第 4 行。

一次性关闭所有文件

使用 vim 同时打开多个文件 buffer、或者打开多个窗口文件时,如果文件改动都已经保存,可以使用 :qall 命令来一次性关闭所有文件,直接退出vim。该命令可简写为 :qa

如果部分文件改动还没有保存,且想要丢弃文件改动,可以使用 :qa! 命令。

查看 :help qa 的说明如下:

:qa[ll]
Exit Vim, unless there are some buffers which have been changed.

使用 session 保存会话

Vim 的 session 类似于 Source Insight 的工程,也可以类比为其他 IDE 的工程。使用 session 可以可以保存打开的文件列表、窗口大小、当前选项设置等信息。

结合 viminfo 一起使用,可以保存命令历史、标记信息、寄存器信息等。

在编辑、或者查看多个文件时,可以用这个机制保存 vim 所打开的文件列表,下次打开 vim 可以重新恢复到之前的状态,自动打开多个文件,不用再手动逐个打开想要查看的文件。

:mksession [file] 命令保存当前 session 到一个 vim 脚本文件里面。 [file] 是可选参数,指定要保存的文件名。如果没有提供,默认名是 Session.vim。

:source {file} 加载 {file} 指定的 vim 脚本文件。如果传入的是之前保存的 session 脚本文件名,就会恢复到指定的session。{file} 是必选参数,必须提供。

也可以用 vim -S filename 命令在打开 vim 时就加载指定的脚本文件,恢复到该脚本文件保存的状态。例如之前打开了多个文件,此时会自动打开这些文件。

:help :mksession 命令查看保存 session 的帮助说明。
:help :source 命令查看该命令的帮助说明。

,