Vim命令的介绍使用

Vim是从vi发展出来的一个文本编辑器。其代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。和Emacs并列成为类Unix系统用户最喜欢的编辑器。

Vim的第一个版本由布莱姆·米勒在1991年发布。最初的简称是Vi IMitation,随着功能的不断增加,正式名称改成了Vi IMproved。现在是在开放原始码方式下发行的自由软件。

Vim常用模式

vim编辑器共有三种模式,分别是:普通模式、插入模式、命令行模式

普通模式(Normal Mode)

这是vim打开文件后的默认模式,用于导航和执行命令,按Esc可返回正常模式。在普通模式下,可以使用hjkl等键进行光标移动,使用/、n等键进行搜索,使用dd、x等键进行删除、复制等编辑操作。常见命令如下:

  • h - 左移一个字符

  • j - 下移一行

  • k - 上移一行

  • l - 右移一个字符

  • 0 - 移动到行首

  • $ - 移动到行尾

  • gg - 跳转到文件首行

  • G - 跳转到文件末行

  • nG - 跳转到第n行

  • x/X - 删除光标处的一个字符

  • dw - 删除从光标到一个单词结尾的内容

  • dd - 删除整行

  • yy - 复制(抓取)当前行

  • p/P - 粘贴已复制内容

  • u - 撤销上一操作

插入模式(Insert Mode)

按i、a等键可以进入插入模式,用于插入和编辑文本。在插入模式下,可以直接输入字符,这些字符会插入到光标所在位置。按Esc可以退出插入模式,返回正常模式。

命令行模式(Command-line Mode)

在正常模式下,按:键可以进入命令行模式。在命令行模式下,可以输入各种设置、写入、退出等命令,如:w 保存,:q 退出。命令前需要加:,命令执行后会自动返回正常模式。另外,vim还有可视模式,通过v、V等进入,用于选择文本。常见命令如下:

  • :w - 保存文件

  • :w !sudo tee % - 使用sudo保存文件

  • :wq 或 :x - 保存文件并退出

  • :q! - 不保存更改强制退出

  • :e {name} - 打开新文件进行编辑

  • :r {name} - 在当前文件尾部插入另一个文件的内容

  • :s/old/new - 将当前行第一个old替换为new

  • :s/old/new/g - 将当前行所有old替换为new

  • :%s/old/new/g - 将全文所有old替换为new

  • :.,+3s/old/new/g - 将当前行到下面3行中所有old替换为new

  • :num - 移动到文件的第num行

  • :$ - 移动到最后一行

  • :set number - 显示行号

  • :set nonumber - 隐藏行号

  • ctrl+g - 显示当前行号和状态