一、打开文件
# 使用 vim 打开文件
vim test.txt
# 使用 vim 打开多个文件
vim test1.txt test2.txt
# 上下分屏打开多个文件
vim -o test1.txt test2.txt
# 左右分屏打开多个文件
vim -O test1.txt test2.txt
# 打开文件后光标指向搜索字符
vim +/liwy test.txt
- :f #查看当前文件名
- :e test.txt #编辑指定文件,可新建
- :e# #编辑之前的文件
- :ls #查看缓冲区文件列表
- :bn #切换到下一个缓冲区
- :bp #切换到上一个缓冲区
- :b3 #切换到指定编号的缓冲区
二、退出保存文件
- :w #保存当前文件
- :q #退出当前文件
- :wq #保存并退出当前文件
- :x #保存并退出当前文件
- :wa #保存所有文件
- :qa #退出所有文件
- :xa #保存并退出所有文件
- :w! #强制保存当前文件
- :q! #强制退出当前文件
- :e! #放弃修改重新装载文件
- :wa! #强制保存所有文件
- :qa! #强制退出所有文件
- :w new.txt #另存为新文件
- :saveas new.txt #另存为新文件并打开
三、模式切换
- Esc #从编辑模式切换到命令模式
- a #在当前光标后,进入插入状态
- A #在当前行的行末,进入插入状态
- i #在当前光标处,进入插入状态
- I #在当前行的行首,进入插入状态
- o #新建下一行,在行首进入插入状态
- O #新建上一行,在行首进入插入状态
四、移动光标
- h #光标向左移动
- l #光标向右移动
- j #光标向下移动
- k #光标向上移动
- [N]j #向下移动 N 行,大多数命令支持 [N]<cmd> 方式重复多次
- [N]k #向上移动 N 行
- ^ #将光标快速跳转到本行的行首字符
- $ #将光标快速跳转到本行的行尾字符
- w #将光标快速跳转到下一个词首字符
- b #将光标快速跳转到上一个词首字符
- gg #跳转到文件的首行
- G #跳转到文件的末尾行
- [N]G #跳转到文件中的第 [N] 行
- :[N] #光标跳转到第 [N] 行的行首
- :$ #光标跳转到最后一行的行首
- f[S] #到下一个字符 [S] 处
- F[S] #到上一个字符 [S] 处
- ; #重复执行 f、t 查找操作
- , #反向重复执行 f、t
- % #括号匹配
五、可视模式选择操作
- v #进入可视模式,移动光标选择文本
- V #进入可是模式,移动光标选择整行
- o #可视模式下,切换光标在选择内容的首尾位置
- ~ #可视模式下,切换大小写
- U #可视模式下,转为大写
- u #可视模式下,转为小写
- y #可视模式下,复制选中的内容
- d #可视模式下,删除选中的内容
六、删除操作
- dd #删除光标所在行
- [N]dd #删除 N 行
- dw #删除当前字符到词尾空格的字符
- d$ #删除当前字符到行尾的所有字符
- d^ #删除当前字符到行首的所有字符
- D #删除到行尾,等于 d$
- x #删除光标处的单个字符,等于 dl
- [N]x #删除 N 个字符
- X #删除光标左边的字符,等于 dh
- J #删除行尾的换行符
七、修改替换文本
- cc #修改一行, 即删除后进入编辑模式
- cw #修改当前字符到词尾
- c$ #修改到行尾
- c^ #修改到行首
- C #修改到行尾,等于 c$
- s #修改一个字符,等于 cl
- S #修改一整行,等于 cc
- r #替换当前字符
- R #从当前字符开始替换,按 ESC 结束
八、复制粘贴
- yy #复制当前行的内容到缓冲区
- [N]yy #复制 N 行的内容到缓冲区
- yw #复制光标到词尾的内容到缓冲区
- y$ #复制光标到行尾的内容到缓冲区
- y^ #复制光标到行首的内容到缓冲区
- p #粘贴到光标的位置,不覆盖已有内容。d、x 等命令删除的文本也可以用 p
九、撤销与重复
- u #取消最近一次的操作,可多步操作
- U #取消对当前行进行的所有操作
- Ctrl+r #对使用 u 命令撤销的操作进行恢复
- . #重复上一次操作