vim强大指令总结

xiaoxiao2021-02-28  85

光标移动

操作指令具体内容h或向左箭头(←)光标向左移动1个字符j或向下箭头(↓)光标向下移动1个字符k或向上箭头(↑)光标向上移动1个字符l或向右箭头(→)光标向右移动1个字符h或向左箭头(←)光标向左移动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字段n向下重复上一个查询字段N向上重复上一个查询字段: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向后删除一个字符X向前删除一个字符dd删除当前行ndd向下删除n行d1G删除光标所在到第一行数据dG删除光标所在到最后一行数据d$删除光标所在到本行的最后一个字符d0删除光标所在到本行的第一个字符yy复制当前行nyy向下复制n行y1G复制光标所在行到第一行的所有数据yG复制光标所在行到最后一行的所有数据y0复制光标到本行行首的所有数据y$复制光标到本行行尾的所有数据p将复制数据粘贴在光标的下一行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切换到上一个文件: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实现串口间的切换

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

转载请注明原文地址: https://www.6miu.com/read-1450316.html

最新回复(0)