文章目录
一、Vim的工作模式
1. 命令模式
- 用vim编辑文件时,默认处于命令模式。
- 在此模式下,可以使用上下左右箭头或者k j h l进行光标移动
- 可以对文件内容进行复制、粘贴、替换、删除等
2. 输入模式
- 可以对文件执行写操作,类似Windows的记事本
- 进入输入模式的方法是i、a、o等插入命令
- 编写完按下Esc可以返回命令模式
3. 编辑模式
- 编辑模式可以保存、查找、替换
- 在命令模式下按“:”,
二、进入Vim
1. 使用Vim打开文件
vim 文件名
2. 直接进入指定位置
vim +20 文件名
# 直接进入文件第20行
vim +/字符串 文件名
# 直接进入字符串所在行,如果有多个字符串,则第一个
三、Vim的基本使用
1. 插入命令
按键 | 功能 |
---|---|
i | 在当前光标所在位置插入随后输入的文本,光标后的文本相应向后移动 |
I | 在光标所在行的行首插入随后输入的文本, |
a | 在当前光标所在位置之后插入随后输入的文本 |
A | 在光标所在行的行尾插入随后输入的文本 |
o | 在光标所在行的下面插入新的一行。光标停在空行的行首,等待输入文本 |
O | 在光标所在行的上面插入新的一行。光标停在空行的行首,等待输入文本 |
2. 光标移动命令
- 移动命令需要在命令模式下运行
- 以字符为单位移动
- 上下左右箭头
- 左h 下j 上k 右l
- 以单词为单位移动
- w 移动光标到下一个单词的单词首
- b 移动光标到上一个单词的单词首
- e 移动光标到下一个单词的单词尾
- 移动到行尾行首
- $ 移动光标到行尾
- n$ 移动到当前光标所在行的之后n行的行尾
- 0 或 ^ 移动光标到行首
- 移动到一行的指定字符处
- f字符 移动光标到第一个符合条件的字符处
- 移动到匹配的括号处
- % 在匹配的括号间切换
- 移动到指定行处
- nG或:n 移动光标到指定的行
3. 使用Vim进行编辑
-
查找指定字符串
- /要查找的字符串 从光标所在行开始向下查找所需的字符串
- ?要查找的字符串 从光标所在行开始向上查找所需的字符串
- :set ic 查找时忽略大小写
-
使用Vim进行替换
- r 替换光标所在处的字符
- R 从光标所在处开始替换字符,按Esc键结束
-
批量替换:
- 替换范围内的字符串
- :替换起始处,替换结束处 s/源字符串/替换的字符串/g
- 替换整篇文档的字符串
- :% s/源字符串/替换的字符串/g
- 替换范围内的字符串
-
使用vim进行删除、粘贴、复制
命令 | 功能 |
---|---|
x | 删除光标所在字符 |
nx | 从光标所在位置向后删除n个字符,n为数字 |
dd | 删除整行。如果之后粘贴,则此命令的作用是剪切 |
ndd | 删除多行 |
dG | 删除从光标所在行到文件末尾的内容 |
D | 删除从光标所在处到这行行尾的内容 |
:起始行,终止行d | 删除指定范围的行 |
yy或Y | 复制单行 |
nyy或nY | 复制多行 |
p | 粘贴到当前光标所在行下 |
P | 粘贴到当前光标所在行上 |
- 撤销上一步操作
u 撤销上一步操作
4. 保存退出命令
w 保存不退出
q 不保存退出
! 强制性操作
组合:
wq 保存并退出
w! 强制保存
wq! 强制保存退出