vim 操作模式简介

何为 vim?

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

vim 的设计理念是命令的组合。用户学习了各种各样的文本间移动/跳转的命令和其他的普通模式的编辑命令,并且能够灵活组合使用的话,能够比那些没有模式的编辑器更加高效的进行文本编辑。

同时 vim 与很多快捷键设置和正则表达式类似,可以辅助记忆。并且 vim 针对程序员做了优化。

vim 的三种操作模式

vim 有三种操作模式,分别是命令模式(Command mode)、输入模式(Insert mode)和底线命令模式(Last line mode)。

三种模式切换快捷键:

模式快捷键
命令模式ESC
输入模式i或a
底线命令模式:
命令模式

在命令模式中控制光标移动和输入命令,可对文本进行复制、粘贴、删除和查找等工作。

使用命令 vim filename 后进入编辑器视图后,默认模式就是命令模式,此时敲击键盘字母会被识别为一个命令,例如在键盘上连续敲击两次d,就会删除光标所在行。

以下是在命令模式中常用的快捷操作:

操作快捷键
光标左移h
光标右移l(小写L)
光标上移k
光标下移j
光标移动到下一个单词w
光标移动到上一个单词b
移动游标到第n行nG
移动游标到第一行gg
移动游标到最后一行G
快速回到上一次光标所在位置Ctrl+o
删除当前字符x
删除前一个字符X
删除整行dd
删除一个单词dw或daw
删除至行尾d$或D
删除至行首d^
删除到文档末尾dG
删除至文档首部d1G
删除n行ndd
删除n个连续字符nx
将光标所在位置字母变成大写或小写~
复制游标所在的整行yy(3yy表示复制3行)
粘贴至光标后(下)p
粘贴至光标前(上)P
剪切dd
交换上下行ddp
替换整行,即删除游标所在行并进入插入模式cc
撤销一次或n次操作u{n}
撤销当前行的所有修改U
恢复撤销操作Ctrl+r
整行将向右缩进>>
整行将向左退回<<
若档案没有更动,则不储存离开,若档案已经被更动过,则储存后离开ZZ
输入模式

在命令模式下按i或a键就进入了输入模式,在输入模式下,您可以正常的使用键盘按键对文本进行插入和删除等操作。

以下是输入模式常用的快捷键操作:

操作命令
换行Enter
删除光标前一个字符Space
删除光标后一个字符Delete
在文本中移动光标方向键
移动光标到行首/行尾Home/End
切换光标为输入/替换模式Insert
退出输入模式,切换到命令模式Esc
底线命令模式

在命令模式下按:键就进入了底线命令模式,在底线命令模式中可以输入单个或多个字符的命令。

以下是底线命令模式中常用的快捷操作:

操作命令
保存:w
退出:q
保存并退出:wq(:wq!表示强制保存退出)
将文件另存为其他文件名:w new_filename
显示行号:set nu
取消行号:set nonu
使本行内容居中:ce
使本行文本靠右:ri
使本行内容靠左:le
向光标之下寻找一个名称为word的字符串:/word
向光标之上寻找一个字符串名称为word的字符串:?word
重复前一个搜寻的动作:n
从第一行到最后一行寻找word1字符串,并将该字符串取代为word2:1,$s/word1/word2/g:%s/word1/word2/g

我们可以参考以下图示来理解这三种模式:

img

使用示例

在本示例将使用vim在文本文件中写入一首唐诗。

  1. 新建一个文件并进入vim命令模式。
vim 静夜思.txt

image-20210601182109882

直接输入 vim 文件名 就能够进入 vi 的一般模式了。请注意,记得 vi 后面一定要加文件名,不管该文件存在与否!

  1. 按下i进入输入模式,输入《静夜思》的诗名。

image-20210601182524439

在一般模式之中,只要按下 i, o, a 等字符就可以进入输入模式了!
在编辑模式当中,你可以发现在左下角状态栏中会出现 –INSERT- 的字样,那就是可以输入任意字符的提示。
这个时候,键盘上除了 Esc 这个按键之外,其他的按键都可以视作为一般的输入按钮了,所以你可以进行任何的编辑。

  1. 按下 ECS 键回到命令模式,并输入底线命令:ce,使诗名居中。

image-20210601182610170

  1. 按下o键换行并进入输入模式,输入第一行诗。

image-20210601182910542

  1. 按下 ECS 键回到命令模式,并输入底线命令:ce,使第一行诗居中。

image-20210601183000687

  1. 按下o键换行并进入输入模式,输入第二行诗。

image-20210601183100061

  1. 按下 ECS 键回到命令模式,并输入底线命令:ce,使第二行诗居中。

image-20210601183126651

  1. 在命令模式中执行底线命令:wq离开 vim。

学习有趣的知识,结识有趣的朋友,塑造有趣的灵魂!

大家好,我是编程三昧的作者隐逸王,我的公众号是编程三昧,希望大家多多指教!

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程三昧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值