Vim 入门


本章全面的介绍 vim 的基础知识,后续章节的学习依赖此章内容。

有两种文件打开的方式,如下例子展示打开/etc/passwd文件

方法一:从命令行打开

$ vim /etc/passwd

方法二:启动后从 Vim编辑器 打开

$ vim
:e /etc/passwd

以下是保存文件的方式:

保存方法 描述
:w (or) :write 保存工作文件
:up (or) :update 保存工作文件
:w newfile.txt 另存为 newfile.txt
:up newfile.txt 另存为 newfile.txt
:w! newfile.txt 另存为 newfile.txt(带覆盖选项)
:up! newfile.txt 另存为 newfile.txt(带覆盖选项)

以下是关闭文件并退出 Vim 编辑器的方法。

关闭方法 描述
:x 保存工作文件并退出
:wq 保存工作文件并退出
:ZZ 保存工作文件并退出
:q! 退出不保存文件
:qa 退出当前 Vim 会话中所有打开的文件

Vim 有多种模式。 为了便于理解,我们将它们分为两类:基础模式高级模式

了解这三种基本模式对于有效使用 Vim 编辑器是绝对必要的。

模式 描述
普通模式 vim 编辑器以此模式启动,您可以在其中执行所有编辑器命令
插入模式 该模式用于插入文本
命令模式 该模式用于在编辑器底部执行 ex 命令,例如 :wq

假设您要创建一个包含文本 "Hello World!"helloworld.txt。 以下步骤说明了如何借助这三种模式来执行此操作。

Step 1: 普通模式, 以普通模式打开新文件

$ vim helloworld.txt

Step 2: 插入模式, 转到插入模式, 输入 Hello World!

i

Step 3: 命令模式, 转到命令模式然后输入 :wq 保存文件并退出编辑器。

<ESC> :wq

虽然这些对于典型用法来说并不是必需的,但了解所有可用的 Vim 模式还是有好处的。

模式 描述
可视模式 您可以在可视模式下选择文本(使用 vVCTRL-V)并执行 Vim 命令。例如,您可以选择一列文本并在可视模式下删除
选择模式 键入可打印字符会删除所选内容并启动插入模式。 在此模式下,窗口底部会显示-- SELECT --
Ex模式 与命令行模式类似,但输入命令后仍处于 Ex 模式

在大多数应用程序中,您可能会使用上、下、左、右箭头键进行基本导航。 在 Vim 编辑器中,以下是基本导航键:

   ** To move the cursor, press the h,j,k,l keys as indicated. **
             ^
             k              Hint:  The h key is at the left and moves left.
       < h       l >               The j key looks like a down arrow.
             j                     The k key looks like a up arrow.
             v                     The l key is at the right and moves right.
导航键 描述
h 左移一个字符
j 下一行
k 上一行
l(L的小写) 右移一个字符
提示:根据历史记载,ADM-3A 终端上的hjkl键带有箭头,这通常用于早期的 UNIX 系统。 这就是选择这些键用于导航的原因。 注意:如果您不习惯使用hjkl键,您仍然可以使用 箭头键 来移动。

您在 Vim 中定义的所有配置选项仅对特定的 Vim 会话有效。

例如,如果您执行:set number以在 Vim 内显示行号,则这将仅适用于该特定 Vim 会话。 如果退出并启动 Vim 编辑器,行号显示将不再出现。

如果您想让您的配置设置在将来的 Vim 会话中永久保留,您应该将其添加到~/.vimrc文件中,如下所示。

$ vim ~/.vimrc
set number
set list

本地vimrc文件的位置:

系统 位置
Linux/Unix $HOME/.vimrc, 例如:/home/zhangsan/.vimrc
Windows $HOME/_vimrc, 例如:C:\Documents and Settings\lisi\_vimrc

全局 Vimrc 供系统管理员添加系统范围的 Vim 配置选项,该选项对该系统的所有用户都有效。 通常您应该只修改本地 vimrc 文件。

全局 vimrc 文件的位置:

系统 位置
Linux/Unix $VIM/.vimrc, 例如:/usr/share/vim/.vimrc
Windows $VIM/_vimrc, 例如:C:\Program Files\Vim\_vimrc

截至本教程编写时,Vim 的最新稳定版本是 7.4。 本书中提到的所有技巧都针对最新的稳定版本进行了测试。

从 Vim 编辑器执行 :version来识别 Vim 编辑器的版本。

ubuntu 上的 vim 版本:

$ vim
:version
VIM - Vi IMproved 8.0 (2016 Sep 12, compiled Mar 18 2020 18:29:15)
Included patches: 1-1453
Modified by [email protected]
Compiled by [email protected]

windows 上的 vim 版本:

C:> vim
:version
VIM - Vi IMproved 8.1 (2016 Aug 9, compiled Aug 9 2021 18:46:22)
MS-Windows 32-bit GUI version with OLE support
Compiled by Bram@KIBAALE
Big version with GUI.

Vim 是几乎所有 Unix 发行版上的默认编辑器。 如果您的系统上没有最新的 Vim 编辑器,请按照以下说明进行安装。

apt-get update
apt-get install vim
yum install vim

输入:help查看 Vim 编辑器附带的内置帮助文档。

$ vim
:help

浏览 Vim 帮助文档时请记住以下几点:

  • 任何内容在| |里是一个链接。
  • 将光标移动至| |中间并按下CTRL-]会跳转到该特定部分。
  • 例如|quickref|是一个链接。
Help 解释
:help (or) :h vim内置的帮助文档
:helpgrep pattern 搜索带 pattern 关键子的文档, 提示: 使用 :cn 跳转至下一个出现 pattern 关键字的文档
:help 'option' 跳转至 option 相关的内容
:help CTRL-X 有关 CTRL-X 命令的帮助。 使用相同的概念来获取有关其他 CTRL-Vim 命令的帮助。
:help :x 获取 x 命令的 vim 帮助文档, 使用相同的概念来获取有关其他 Vim 命令的帮助。
:se<CTRL-D> 关于自动补全的帮助。例如:se<CTRL-D> 将显示所有以 se 开头的命令。

Vimtutor 程序内置了教程文件,其中包含分步说明学习 Vim 编辑器的说明。 当您启动 vimtutor 时,它会复制原始指导文件并自动打开它。您可以修改此文件并根据需要使用它。

$ vimtutor
注意:默认情况下,vimtutor 打开英文指导文件。 要以您的特定语言打开指导文件,请在末尾提供语言代码。

例如,以下命令打开中文的指导文件。

$ vimtutor cn