1

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

  • 打开文件时光标自动跳转到指定行,包括行末
  • 一次性关闭所有文件
  • 使用 session 保存会话,记住打开的文件列表,以便后面恢复

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

在 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 命令查看该命令的帮助说明。


霜鱼片
446 声望331 粉丝

解读权威文档,编写易懂文章。如有恰好解答您的疑问,多谢赞赏支持~