vim有三种模式:普通模式、插入模式、命令行模式。普通模式按
i
进入插入模式;插入模式按esc
回到普通模式;普通模式输入:
进入命令行模式
- 普通模式
- 移动光标
方向键
或h
左j
下k
上l
右Ctrl+F
下翻一屏Ctrl+B
上翻一屏G
移到缓冲区的最后一行num G
移到缓冲区第num行gg
移到缓冲区第一行
- 编辑数据(有些编辑命令允许使用数字修饰符来指定重复该命令多少次,例如:
2x
5dd
) - 复制和粘贴
p
粘贴到光标所在为止(最近删掉的内容或最近复制的内容)yy
复制当前光标所在行yw
复制当前光标所在位置的单词y$
复制当前光标所在位置至行尾的内容v
进入可视化复制,移动光标选中索要复制区域,y
完成复制
- 移动光标
命令 | 描述 |
---|---|
x | 删除当前光标所在位置的字符 |
dd | 删除当前光标所在行 |
dw | 删除当前光标所在位置的单词 |
d$ | 删除当前光标所在位置至行尾的内容 |
J | 删除当前光标所在行行尾的换行符(拼接行) |
u | 撤销前一编辑命令 |
a | 在当前光标后追加数据 |
A | 在当前光标所在行行尾追加数据 |
r char | 用char替换当前光标所在位置的单个字符 |
R text | 用text覆盖当前光标所在位置的数据,直到按下ESC键 |
- 插入模式
- 命令行模式
q
如果未修改缓冲区数据,退出q!
取消所有对缓冲区数据的修改并退出w filename
将文件保存到另一个文件中wq
将缓冲区数据保存到文件中并退出/word
查找文本,n
下一个N
上一个s/old/new/
替换当行第一个oldn,ms/old/new/g
替换行号n和m之间所有old%s/old/new/g
替换整个文件中的所有old%s/old/new/gc
替换整个文件中的所有old,但在每次出现时提示