Aug-14, 2021 · 10min
change language从零开始学习 Vim 编辑器,包括各种模式切换、文本编辑命令、移动操作、搜索替换等核心功能,帮助你掌握高效的文本编辑技能
VIM 中有多种模式:基本模式和派生模式
默认模式,首次用 VIM 打开文件进入该模式,在其他模式中可以使用 ESC 进入该模式。也叫命令模式
使用
Ctrl + g可显示当前文件名和一些其他信息
在 Normal mode 下,输入 v , V 或者 Ctrl + v 进入可视化模式,该模式可以选择一块编辑区域,然后对选中的文件内容执行 插入、删除、替换、改变大小写 等操作。
字符选择模式:选中光标经过的所有字符,普通模式下按 v 进入
行选择模式:选中光标经过的所有行,普通模式下按 V 进入
块选择模式:选中一整个矩形框表示的所有文本,普通模式下按 Ctrl + v 进入
可以使用
o在选中区域的左上角和右下角切换
可以用鼠标或光标键高亮选择文本
任何输入都会替换选择的高亮文本
并进入插入模式
参考 https://www.bilibili.com/read/cv12497070
可以将你的输入插入当前文档
从普通模式进入插入模式
i 光标的前一个字符处I 光标当前行的行首a 光标的后一个字符处A 光标当前行的行尾o 光标当前行的下一行O 光标当前行的上一行普通模式输入 : 进入命令行模式
一些常用的命令
:set number 显示行号,简写 :se[t] nu[mber]:set nonumber 关闭显示行号,简写 :se[t] nonu[mber]:set relativenumber 显示相对行号,简写 se[t] rnu ,这时同时设置 :se nu 会,当前行显示绝对行号,上下部分显示相对行号:w 保存当前编辑的文件:wq 保存当前编辑的文件并退出:w! 强制将当前文件保存:q 退出vim:q! 强制退出:write [fileName] 将当前文件另存为 fileName 并打开:saveas [fileName] 将当前文件另存为 fileName,简写 :sav [fileName]/ 查询,n 查找上一个, N 查找上一个参考
https://www.bilibili.com/read/cv12686699
Ex 指的是 Execute
在普通模式使用 gQ 进入,使用 :visual 退出
参考 https://www.bilibili.com/read/cv12497070
从普通模式进入插入模式
i 光标的前一个字符处I 光标当前行的行首a 光标的后一个字符处A 光标当前行的行尾o 光标当前行的下一行O 光标当前行的上一行在普通模式下
x 删除光标位置的一个字符
dd 删除光标所在行
d0 删除光标位置到当前的行首
d$ 删除光标位置到当前的行尾
db 、dB 删除从光标位置到当前单词开始部分
dw 、dW 删除从光标位置当当前单词结束部分
cb 、cB 删除从光标位置到当前单词开始部分,并进入插入模式
cw 、cW 删除从光标位置到当前单词结束部分,并进入插入模式
在普通模式下
yw 复制从光标位置到当前单词结束部分的内容
yy 复制当前行
p 将复制的文本内容复制到光标所在的字符后
P将复制的文本内容复制到光标所在的字符前
r 替换光标所在字符一次R 一直替换,直到按下 ESC 键u 撤销U 撤销撤销的内容:w 保存当前编辑的文件:wq 保存当前编辑的文件并退出:w! 强制将当前文件保存:write [fileName] 将当前文件另存为 fileName 并打开:saveas [fileName] 将当前文件另存为 fileName,简写 :sav [fileName]在普通模式下可以使用 h 、j 、k 、l ,移动左、下、上、右
gg 到当前文本的行首
G 到当前文本的行尾