标签:输入 中间 shell 运行 重复 替代 删除 ctr 分享
| 操作指令 | 具体内容 |
|---|---|
| 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 | 实现串口间的切换 |
其中,水平分割的示意图如下所示:
垂直分割的示意图如下所示:
标签:输入 中间 shell 运行 重复 替代 删除 ctr 分享
原文地址:http://www.cnblogs.com/wxj-106/p/7886735.html