Vim 模式切换 | 命令集

时间:2024-02-23 17:13:30

Vim 模式切换 | 命令集

  • vim 主要模式及切换
    • 一、正常/普通/命令模式
      • 1 光标相关操作命令集
        • 1.1 光标移动
        • 1.2 文字删除
        • 1.3 粘贴和复制
        • 1.4 替换
        • 1.5 字符更改
    • 二、插入模式
      • 2.1 插入模式和命令行模式相互切换
    • 三、末行模式
      • 2.1 末行模式和命令行模式相互切换
      • 2.2 末行模式相关命令集

vim 主要模式及切换

vim是一款历史悠久的多模式文本编辑器,在不同模式下有不同的功能。但实际开发过程中,主要有以下5中模式。

一、正常/普通/命令模式

Vim默认模式为命令模式,该模式主要用于控制屏幕光标的移动,字符、行的删除

1 光标相关操作命令集

1.1 光标移动
快捷键 功能
小写字母:h、j、k、l vim允许直接使用键盘上的光标移动键来上下左右移动光标,但正规的vim是用h(左移)、j(下移)、k(上移)、l(右移)来控制光标行为
gg 光标跳转到文本开始
(n)+ shift + g 光标跳转到第n行 或 文本末尾
shift + ^ 光标移动到该方的“行首
shify + $ 光标移动到该方的“行尾
数字(n) + l 光标从当前位置开始,向后移动n位
w 光标跳到下一个单词的开头(如果非单词,则是下一个字符)
e 光标跳到下一个单词的结尾(如果非单词,则是下一个字符)
b 光标跳到上一个单词的开头(如果非单词,则是上一个字符)
ctrl + b 屏幕往“后”移动一页
ctrl + f 屏幕往“前”移动一页
ctrl + u 屏幕往“后”移动半页
ctrl + d 屏幕往“前”移动半页
1.2 文字删除
快捷键 功能
x 删除当前光标所在位置字符
数字(n) + x 删除光标所在位置后n个字符(包含光标所在位置本身)
shift + x 删除光标所在位置的前一个字符
数字(n) + shift + x 删除光标所在位置的前n一个字符
dd 删除光标所在行
数字(n) + dd 从光标所在行开始,删除n行
1.3 粘贴和复制
快捷键 功能
yy 复制当前行到缓冲区
数字(n) + yy 从光标所在行开始,向后复制n行到到缓冲区
数字(n) +p 将缓冲区内的n字符贴到光标所在位置。tip:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能
yw 光标所在位置到字尾的字符复制到缓冲区中。
#yw 复制#个字符到缓冲区
1.4 替换
快捷键 功能
r 替换光标所在处的字符
R 替换光标所到之处的字符,直到按下ESC键为止
u 撤销回到上一个操作。按多次“u”可以执行多次撤销
ctrl + r 撤销的恢复
1.5 字符更改
快捷键 功能
cw 更改光标所在处的字到字尾处
c#w 例如,「c3w」表示更改3个字

二、插入模式

要进行文字输入,vim必须从命令行模式切换到插入模式。

2.1 插入模式和命令行模式相互切换

  1. 从命令行模式切换到插入模式有以下三种方式:
快捷键 功能
i 按i进入插入模式后,是从光标当前位置开始输入文字
a 按a进入插入模式后,是从光标当前位置的下一个位置开始输入文字
o 按o进入插入模式后,是插入新的一行,从行首开始输入文字
  1. 从插入模式切换命令行模式只需无脑Esc即可

三、末行模式

在末行模式中,我们可以进行文件的保存和退出,文件替换、查找字符串和列出行号等操作。

2.1 末行模式和命令行模式相互切换

  1. 从命令行模式切换到末行模式,只需shift + : 即可。
  2. 从末行模式退回命令行模式只需Esc

2.2 末行模式相关命令集

快捷键 功能
set + nu 列出行号
set + nonu 取消行号
数字(n) 在冒号后输入一个数字后回车确认,光标会跳转到该行
w! 单独w表示保存文件;w!表示强制保存文件
q! 单独q表示退出文件;q!表示强制退出文件
/ + 关键字 查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会往后寻找到您要的关键字为止
? + 关键字 查找关键字,如果第一次找的关键字不是您想要的,可以一直按n会向前寻找到您要的关键字为止