一、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. 光标移动命令

  • 移动命令需要在命令模式下运行
  1. 以字符为单位移动
    • 上下左右箭头
    • 左h 下j 上k 右l
  2. 以单词为单位移动
    • w 移动光标到下一个单词的单词首
    • b 移动光标到上一个单词的单词首
    • e 移动光标到下一个单词的单词尾
  3. 移动到行尾行首
    • $ 移动光标到行尾
    • n$ 移动到当前光标所在行的之后n行的行尾
    • 0 或 ^ 移动光标到行首
  4. 移动到一行的指定字符处
    • f字符 移动光标到第一个符合条件的字符处
  5. 移动到匹配的括号处
    • % 在匹配的括号间切换
  6. 移动到指定行处
    • nG或:n 移动光标到指定的行

3. 使用Vim进行编辑

  1. 查找指定字符串

    • /要查找的字符串 从光标所在行开始向下查找所需的字符串
    • ?要查找的字符串 从光标所在行开始向上查找所需的字符串
    • :set ic 查找时忽略大小写
  2. 使用Vim进行替换

    • r 替换光标所在处的字符
    • R 从光标所在处开始替换字符,按Esc键结束
  3. 批量替换:

    • 替换范围内的字符串
      • :替换起始处,替换结束处 s/源字符串/替换的字符串/g
    • 替换整篇文档的字符串
      • :% s/源字符串/替换的字符串/g
  4. 使用vim进行删除、粘贴、复制

命令 功能
x 删除光标所在字符
nx 从光标所在位置向后删除n个字符,n为数字
dd 删除整行。如果之后粘贴,则此命令的作用是剪切
ndd 删除多行
dG 删除从光标所在行到文件末尾的内容
D 删除从光标所在处到这行行尾的内容
:起始行,终止行d 删除指定范围的行
yy或Y 复制单行
nyy或nY 复制多行
p 粘贴到当前光标所在行下
P 粘贴到当前光标所在行上
  1. 撤销上一步操作
u   撤销上一步操作

4. 保存退出命令

w	保存不退出

q	不保存退出

!	强制性操作

组合:

wq	保存并退出

w!	强制保存

wq!	强制保存退出

按两下shift+Z ,退出命令模式!