Vim 基本命令入门

_ _20180628165722
最近在学习 Linux,前面的基础知识学习了一下,进入了 Vim 的学习环节。感觉这个编辑器还是可以的,有特色,鼠标都不用,蛮炫酷。对于基本
的使用来讲还是很方便的。下面是一些我的学习笔记,大致就是一些常用的命令吧。这个博客就是使用 Vim 写的一个 Markdown 文档,就当是给自己练练手,加深学习的印象了。

Vim 基本概念

Vim 是从 vi 发展而来的一个功能强大、高度可定制的文本编辑器,是一款开源的软件。Vim 的基本功能模式如下图:

Vim 工作模式图

由图可知,Vim 基本包括三种工作模式:命令模式、插入模式和编辑模式。在终端中通过 vi 命令即可使用 Vim 打开对应文件,从而进入命令模式,此时输入的任何文本信息都会被当做命令,回车即可执行输入的这些命令。要想编辑文本信息,需要进入编辑模式,此时输入命令 aoi都可以进入插入模式。其中,a 代表在当前光标位置的后方插入,o 代表在当前光标的下面一行插入,i 代表在当前光标位置的前面插入。此外,AOI也可以进入插入模式,但是它们意义与其小写模式正好相反。A 代表在行尾插入,O 代表在当前光标位置的上面一行插入,I 代表在行首开始插入。进入插入模式之后,按“ESC”键即可退出插入模式,回到命令模式。

常用命令

插入命令

命令含义
a 在光标当前所在位置的后面开始插入
A 在光标所在行行尾开始插入
i 在光标当前所在位置的前面开始插入
I 在光标所在行行首开始插入
o 在光标所在行的下一行开始插入
O 在光标所在行的上一行开始插入

定位命令

命令含义
:set nu 设置行号
:set nonu 取消行号
gg 跳转到第一行
G 跳转到最后一行
nG 跳转到第n行
:n 跳转到第n行
$ 跳转到行尾
0 跳转到行首

其中,值得注意的是,命令 :n 与命令 nG 具有同样的功能,从字面上看,:n 更容易记住,所以我一般使用 :n命令。
具体使用方法:

:100

在命令模式下,输入上方的命令,回车就回跳转到第一百行。

这些常用的跳转命令最好记住。

删除命令

命令含义
x 将光标所在处的字符进行剪切(删除)
nx 将光标之后的n的字符进行剪切(删除)
dd 将光标所在行进行剪切(删除)
ndd 将光标所在行之后的n行进行剪切(删除)
dG 将光标所在行到文章末尾进行剪切(删除)
D 将光标所在处到行尾进行剪切(删除)
:n1,n2d 将n1到n2行内容进行剪切(删除)

常用的是 xnxdd 和 ndd

复制和粘贴

命令含义
yy 复制当前行
nyy 复制当前行以下的n行
dd 剪切当前行
ndd 剪切当前行之后的n行
p 粘贴在当前光标所在行下
P 粘贴在当前光标所在行上

替换和撤销命令

命令含义
r 取代光标所在处的字符
R 进入替换模式,类似于 Windows 中的 insert
u 撤销上一次操作

注意点:

  • r 只替换当前光标所在处的字符,命令模式下按 r 然后按新的字符。
  • R 进入替换模式,按 ESC 才能退出。

搜索和搜索替换命令

命令含义
/string 搜索指定字符串,如果要忽略大小写,先输入命令 :set ic
n 搜索指定字符串的下一个位置
:%s/old/new/g 全文替换指定字符串
:n1,n2s/old/new/g 在指定范围内替换指定字符串

注意点:

  • %s代表全文搜索。
  • n1,n2s代表在n1行到n2行范围内搜索。
  • g代表不会确认是否替换,如果最后是c的话,就回挨个询问是否替换。

保存和退出命令

命令含义
:w 保存修改
:w new_filename 另存为指定文件
:wq 保存修改并退出
ZZ 保存修改并退出的快捷键
:q! 不保存修改强制退出
:wq! 保存修改并强制退出

其它使用技巧

命令含义
:r 文件名 将指定文件的内容导入到光标所在位置
:r !命令 将命令运行结果导入到光标所在位置
:map 快捷键 触发命令 自定义快捷键
:ab old new 在编辑时自动替换一些字符

注意点:

  • :r !命令 是一个很好用的命令,比如:r !date可以把当前日期时间快速导入到当前光标位置。
  • :map 快捷键 触发命令用于自定义快捷键,在命令模式下,输入“:map ”然后输入“Ctrl+V+P”,会出现“^P”,代表快捷键为“Ctrl+P”。最后一部分触发命令是指按下快捷键后,触发的命令,比如“I#”,这代表快捷方式触发的命令为“I#”,然后按下“ESC”键。含义即为在行首添加“#”井号,快速注释。
  • 连续行注释:n1,n2s/^/#/g,代表将指定范围内的行首替换为“#”井号。其中,“^”代表行首。
  • :ab是编辑时快速替换命令,当你自定义替换字符串后,当你在编辑模式下输入要替换的字符串时,空格或者回车后,这个就字符串就回立即被你定义的新字符串替换掉,很方便。

小问题记录

  • 习惯了Ctrl+S保存修改,在 Vim 中也喜欢按,结果按了之后就出问题了,无法输入了。解决方法就是按Ctrl+Q,退出锁屏模式。
  • 编辑模式下按Ctrl+Z不是撤销更改,撤销更改应该进入命令模式,按u。编辑模式下按Ctrl+Z是强制将进程加入后台运行,会生成一个“.swap”交换文件。要正常编辑,可以手动删除交换文件,由于交互文件是隐藏文件,所以需要按ls -a查看。

总结

以上只是一些基本的 Vim 命令,学会使用这些命令还是能够大大地增强学习乐趣。另外要想学好 Vim,最好每个命令都自己试一试,亲身体验过后,还是觉得它非常方便的。

原文地址:https://www.cnblogs.com/DM428/p/9242369.html