天天看点

vim强大指令总结光标移动搜寻和替代删除、复制和粘贴其他常用操作多文件编辑分割窗口,显示多个文件

操作指令

具体内容

h或向左箭头(←)

光标向左移动1个字符

j或向下箭头(↓)

光标向下移动1个字符

k或向上箭头(↑)

光标向上移动1个字符

l或向右箭头(→)

光标向右移动1个字符

对以上,若在指令前输入n则移动n位,如30j则表示向下移动30行

[ctrl]+[f]

向下移动一页

[ctrl]+[b]

向上移动一页

[ctrl]+[d]

向下移动半页

[ctrl]+[u]

向上移动半页

+

光标移动到非空格的下一列

-

光标移动到非空格的上一列

n

向右移动n位

0或功能键[home]

移动到这一行的最前面

$或功能键[end]

移动到这一行的最后面

h

移动到第一行第一个字符

g或l

移动到最后一行

m

移动到中间一行

ng或 :n

移动到第n行

gg

移动到第一行

/word

向下查询word字段

?word

向上查询word字段

向下重复上一个查询字段

向上重复上一个查询字段

:s/old/new/

将当前行第一个old字段替换为new字段

:s/old/new/g

将当前行所有old字段替换为new字段

:n,$s/old/new

将第n行开始,到最后一行中的每一行的第一个old字段替换成new字段

:n,$s/old/new/g

将从第n行开始,到最后一行中每一行的所有old字段替换成new字段

若n为.表示从当前行开始替换

:%s/old/new/ 等同于 :g/old/s//new/

替换每一行的第一个 old 为 new

:%s/old/new/g 等同于 :g/old/s//new/g

替换每一行中所有 old 为 new

:n1,n2s/old/new/g

将n1到n2行中所有的old字段替换成new字段

:%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / )

/oradata/apras/替换成/user01/apras1/

:s#vivian/#sky/#使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

替换当前行第一个 vivian/ 为 sky/

x

向后删除一个字符

向前删除一个字符

dd

删除当前行

ndd

向下删除n行

d1g

删除光标所在到第一行数据

dg

删除光标所在到最后一行数据

d$

删除光标所在到本行的最后一个字符

d0

删除光标所在到本行的第一个字符

yy

复制当前行

nyy

向下复制n行

y1g

复制光标所在行到第一行的所有数据

yg

复制光标所在行到最后一行的所有数据

y0

复制光标到本行行首的所有数据

y$

复制光标到本行行尾的所有数据

p

将复制数据粘贴在光标的下一行

将复制数据粘贴在光标的上一行

j

将光标所在行和下一行数据合成一行

u

复原上一个动作

[ctrl]+r

重做上一次动作

:w

将编辑的数据储存成另一个档案(类似另存新档)

:n1,n2 w [filename]

将 n1 到 n2 的内容储存成 filename 这个档案。

:! command

暂时离开 vi 到指令列模式下执行 command 的显示结果,如:! ls ~

: r !command

将command命令的执行结果插入到文本当前行的下一行

: 3 !command

将文本中第三行的内容输入到命令command中进行处理,并将第三行的内容替换为命令的执行结果

:1,3 !command

将文本中第一行到第三行的内容输入到命令command中进行处理,并将第一行到第三行的内容替换为命令的执行结果

:3 w !command

将文本中第三行的内容输入到命令command中进行处理,不改变当前编辑文件的内容.

:1,3 w !command

将文本中第一行到第三行的内容输入到命令command中进行处理,不改变当前编辑文件的内容

:shell

切换到shell,此时vim在后台运行,在shell中输入命令exit,切换回vim

vim filename1 filename2

同一个窗口显示多个文件(打开后暂时只显示filename1的内容

:n

切换到下一个文件

切换到上一个文件

:n filename2

切换到文件filename2

:ls

列出vim打开的所有文件的信息,包括文件名,buffer id等

:b2

切换到buffer id为2的buffer

:bn

切换到当前buffer的下一个buffer

:bp

切换当前buffer的前一个buffer

:bd

关闭当前buffer,对应文件也随之关闭

:bd2

关闭buffer id为2的buffer,对应文件也随之关闭

:e file

打开新文件,但不会分割窗口

:sp file

打开新文件,并且将会水平分割窗口

:vsp file

打开新文件,并且将会垂直分割窗口

vim -o filename1 filename2

水平分割窗口

vim -o filename1 filename2

垂直分割窗口

[ctrl] + ww

实现串口间的切换

其中,水平分割的示意图如下所示:

vim强大指令总结光标移动搜寻和替代删除、复制和粘贴其他常用操作多文件编辑分割窗口,显示多个文件

垂直分割的示意图如下所示:

vim强大指令总结光标移动搜寻和替代删除、复制和粘贴其他常用操作多文件编辑分割窗口,显示多个文件