前言
vim编辑器是从vi编辑器发展来的,是程序员们广泛使用的一款编辑器。今天我就来为大家总结一下vi/vim编辑器的使用方法。
一、vi编辑器的三种工作模式
- 命令模式:启动vi编辑器后默认进入命令模式,该模式中主要完成如光标移动、字符查找、复制、粘贴文件内容等相关操作。
- 输入模式:该模式中的主要操作就是录入文件内容,可以对文本文件正文内容进行修改或添加新的内容。处于输入模式时,vi编辑器的最后一行会出现“-INSERT-”的状态提示
- 末行模式:该模式可以设置vi编辑环境、保存文件、退出编辑器,以及对文件内容进行查找、替换等操作。处于末行模式时,vi编辑器最后一行会出现“:”提示符。
二、vi编辑器的工作模式
三、命令模式切换输入模式
命令 | 作用 |
---|
a | 当前光标位置之后插入内容 |
i | 当前光标位置之前插入内容 |
l | 所在行的行首插入内容 |
o | 光标所在行之下插入一行新内容 |
O | 光标所在行之上插入一行新内容 |
A | 所在行行尾插入内容 |
四、命令模式中的基本操作
(1)光标移动
操作类型 | 操作键 | 功能 |
---|
方向移动 | 上下左右箭头 | 上下左右移动 |
翻页 | Page Down或Ctrl+F | 向下翻动一整页内容 |
翻页 | Page Up或Ctrl+B | 向上翻动一整页内容 |
行内快速跳转 | Home键或^键、数字0键 | 跳转到行首 |
行内快速跳转 | End键或“&” | 跳转到行首 |
行内快速跳转 | 1G或gg | 跳转到文件的首行 |
行内快速跳转 | G | 跳转到文件的最后一行 |
行内快速跳转 | #G | 跳转到文件中的第#行(#是具体数字) |
行内快速跳转 | M | 跳转至当前页的中间位置 |
显示行号 | :set nu | 在编辑器中显示行号 |
显示行号 | :set nonu或setno! | 取消编辑器中的行号显示 |
(2)复制、粘贴、替换和删除
操作类型 | 操作键 | 功能 |
---|
删除 | x或Delete | 删除 |
删除 | dd | 删除当前光标所在行(有剪切功能) |
删除 | #dd | 删除从光标处开始的#行内容 |
删除 | d^ | 删除当前光标之前到行首的所有字符 |
删除 | d$ | 删除当前光标处到行尾的所有字符 |
删除 | dw | 删除光标处的所有字符 |
替换字符 | R或shift+r | 替换当前光标处字符 |
复制 | yy | 复制当前整行的内容到剪切板 |
复制 | #yy | 复制从光标处开始的#行内容 |
粘贴 | p | 粘贴到光标所在行之下 |
粘贴 | p | 粘贴到光标所在行之上 |
(3)文件内容查找
操作键 | 功能 |
---|
/word | 从当前光标处向后进行查找字符串“word” |
?word | 从当前光标处向前进行查找字符串“word” |
n | 定位下一个匹配的被查找字符 |
N | 定位上一个匹配的被查找字符 |
(4)撤销编辑及保存退出
操作键 | 功能 |
---|
u | 按一次取消最近一次的操作;重复u键,恢复多步操作 |
U | 用于取消对当前行所做的所有编辑 |
zz | 保存当前的文件内容并退出vi编辑 |
五、末行模式的基本操作
(1)保存文件及退出vi编辑器
操作键 | 功能 |
---|
:w | 保存修改的内容(后面要跟绝对路径) |
:w新文件名 | 另存为其他文件 |
:q | 未修改退出 |
:q! | 放弃对文件的修改并退出 |
:wq、:x | 保存当前的文件内容并退出vi编辑 |
(2)打开新文件和读入其他文件内容
命令 | 功能 |
---|
:e其他文件名 | 打开新的文件进行编辑 |
:r其他文件名 | 在当前文件中读入其他的文件内容 |
(3)文件内容替换
命令 | 功能 |
---|
:s /old/new | 将当前行中找到的第一个字符串“old”替换为“new”,查找范围不写默认为光标所在行 |
:s /old/new/g | 将当前行中查找的所有字符串“old”替换为“new” |
:#,# s/old/new/g | 将行号#,#范围内所有的字符串“old”替换为“new” |
:% s/old/new/g | 将整个文件范围内所有的“old”字符串替换为“new” |
:s old/new/c | 对每个替换作用进行用户确认 |
(4)复制、剪切、粘贴
命令 | 作用 |
---|
:5,10 m 15 | 将5-10行的内容剪切到15行下面 |
:5,10 co 15 | 将5-10行的内容复制到15行下面 |
总结
今天总结了很多关于vi编辑器的各种快捷指令,vi编辑器作为我们使用的最多的编辑器,熟练使用往往是很有必要的。
所有评论(0)