vim编辑器主要分为三个模式:
1. 插入模式
2. 编辑模式
3. 末行模式(也叫命令行模式)
在编辑模式下的常用操作有
h,j,k,l:分别表示左,下,上,右移动
PageDown(Ctrl+F):向下翻一屏
PageDown(Ctrl+B):向上翻一屏
G: 移动到缓冲区的最后一行
num G: 移动到缓冲区的第num行
gg: 移动到缓冲区的第一行
x: 删除当前光标所在位置的字符
dd: 删除当前光标所在的行
dw: 删除当前光标所在位置的单词
d$: 删除当前光标所在位置至行尾的内容
d^: 删除当前光标坐在位置至行首的内容
num dd: 删除当前光标坐在行及其下面的num-1行
J: 删除光标所在行行尾的换行符
u: 撤销前一条编辑命令
a: 在当前光标后最佳数据
i: 在当前光标前插入数据
o: 在当前光标所在行的下一行插入新的空白行
A: 在当前行行尾追加数据
I: 在当前行行首追加数据
O: 在当前光标坐在行的前一行插入新的空白行
r char: 用char替换当前光标坐在位置的单个字符
R text: 用text覆盖当前光标坐在位置的数据,知道按下ESC键
y: 复制当前光标所在行
yw: 复制当前光标坐在的单词
y$: 复制到行尾
num y: 复制当前光标坐在行及其下面的num行
p: 将复制的内容粘贴
v: 使用可视模式可以显示将要操作的文本,按上下左右键选定需要操作的区域,然后复制(y)或者删除(d或者x)
在普通模式下输入冒号:进入末行模式,在末行模式下主要有以下命令:
q!: 取消对文件的修改并退出
wq: 保存退出
w filename: 将文件保存到filename中
此外在末行模式下还可以执行文本操作命令:
:%s/old/new/g 使用new替换整个文件中所有的old
:%s/old/new/gci 使用new替换整个文件中所有的old,但每次修改时都要询问,且忽略大小写
:n,ms/old/new/g 替换行号n和num之间所有的old
:.$s/old/new/g 替换掉当前行到最后一行中的所有的old
:.,$d 删除当前行到最后一行的所有内容
/patter 按下enter键表示查找所有patter