首发于极客小祥
Vim教程

Vim教程

你想使用史上最好的编辑器吗?

Vi编辑器三大模式
1.命令行模式
2.插入模式
3.末行模式

进入vi之后是命令模式
按esc之后都会回到命令模式

输入一下字母进入插入模式
i 在光标的前面插入
I 在行首插入
a 在光标的后面插入
A 在行末插入
o 在下一行插入
O 在上一行插入

按esc进入末行模式
:w 保存
:q 退出
:wq 保存退出
shift + zz 保存并退出(这个在命令模式执行)

以下命令都是在命令行模式下操作

yy 复制光标所在的这一行

复制几行的话在把光标放在所在的行敲数字+yy:例如:4yy (去第四行)


p 粘贴


dd 剪切(删除)光标所在的一行

剪切(删除)几行的话在把光标放在所在的行敲数字+yy:例如:2dd

D 从当前的光标开始剪切一直到行末

d0 从当前的光标开始剪切一直到行首

x 删除当前光标,每次只向后删除一个

X 删除当前光标,每次只向前删除一个

dw 删除一个单词


u 撤销刚刚的操作

ctrl + r 反撤销


控制文件:

h 向左走

l 向右走

j 向下走

k 向上走

M 定位当前屏幕的中间

H 定位当前屏幕的上方

L 定位当前屏幕的下方

ctrl + f 向下翻一页

ctrl + b 向上翻一页

ctrl + d 向下翻半页

ctrl + u 向上翻半页


行数G (20G) 快速去那一行

G 快速去最后一行

gg 快速去第一行


w 向后跳一个单词的长度,即跳到下一个单词的开始处

b 向前跳一个单词的长度,即跳到上一个单词的开始处


批量移动代码缩进,先选中代码,再按shift和<<或者>>

v/V 选中当前代码和当行代码

>> 向右移动代码

<< 向左移动代码

. 重复执行上一次的命令


{ 去上一片代码(按代码格式分片)

} 去下一片代码


在光标在的位置操作(命令行模式下)

r 替换光标定位的字符的当前字符 (r + 替换的字符)

R 替换光标以及后面的字符(R + 输入字符)


快速格式化全文代码

gg=G (不需要去末行模式,直接输入就可以)

格式化固定行数代码

行数gg=行数G (例如:10gg=16G 格式化10到16行代码)

末行模式下:

替换全篇内容:

:%s/原内容/替换的内容/g替换整篇内容,

例如::%s/aa/bb/g (替换全篇文章aa位bb)

替换固定位置的内容:

:行数,行数s/原内容/替换的内容/g

例如::10,15s/aa/bb/g (替换第10行到第15行的aa为bb)

编辑于 2021-04-14 15:33