Vi按键说明
前绪
本篇用来记录保存Vi的按键说明,出处来自鸟叔的《鸟叔的LINUX私房菜》。如有侵权请联系本人删除
一般命令模式可用的功能按键说明
移动光标的方法
| h或者左箭头键(⬅️) | 光标向左移动一个字符 |
|---|
| J或者下箭头键(⬇️) | 光标向下移动一个字符 |
| k或者上箭头键(⬆️) | 光标向上移动一个字符 |
| l或者右箭头键(➡️) | 光标向右移动一个字符 |
| Ctrl+f | 屏幕向下移动一页,相当于Page Down按键(常用) |
| Ctrl+b | 屏幕向上移动一页,相当于Page Up按键(常用) |
| Ctrl+d | 屏幕向下移动半页 |
| Ctrl+u | 屏幕向上移动半页 |
| + | 光标移动到非空格符的下一行 |
| - | 光标移动到非空格符的上一行 |
| n | n表示数字,按下数字后再按空格键,光标会向右移动这一行的n个字符 |
| 0或功能键【home】 | 移动到这一行的最前面字符处(常用) |
| $或功能键【End】 | 移动到这一行的最后面字符(常用) |
| H | 光标移动到这个屏幕最上方那一行的第一个字符 |
| M | 光标移动到这个屏幕最中央那一行的第一个字符 |
| L | 光标移动到这个屏幕最下方那一行的第一个字符 |
| G | 移动到这个文件的最后一行(常用) |
| nG | n为数字;移动到这个文件的第n行 |
| gg | 移动到这个文件的第一行,相当于1G(常用) |
| n | n为数字;光标向下移动n行(常用) |
查找与替换
| /word | 向光标之下寻找一个名称为word的字符串 |
|---|
| ?word | 向光标之上寻找一个名称为word的字符串 |
| n | n为英文按键,代表【重复前一个查找的操作】。 |
| N | 反向进行前一个查找操作 |
| :n1,n2s/word1/word2/g | n1,n2为数字,在第n1与n2行之间寻找word1这个字符串,并将该字符串替换为word2(常用) |
| :1,$s/word1/word2/g | 从第一行到最后一行寻找word1字符串,并将该字符串替换为word2(常用) |
| :1,$s/word1/word2/gc | 从第一行到最后一行寻找word1字符串,并将该字符串替换为word2,且在替换前显示提示字符给用户确认是否需要替换(常用) |
删除、复制与粘贴
| x与X | 再一行当中,x为向后删除一个字符(相当于【del】按键),X为向前删除一个字符(相当于【BackSpace】即退格键)(常用) |
|---|
| nx | n为数字;连续向后删除n个字符 |
| dd | 删除(剪切)光标所在的那一整行(常用) |
| ndd | n为数字,删除(剪切)光标所在的向下n行 |
| d1G | 删除(剪切)光标所在到第一行的所有数据 |
| dG | 删除(剪切)光标所在到最后一行的所有数据 |
| d$ | 删除(剪切)光标所在处,到该行的最后一个字符 |
| d0 | 删除(剪切)贯标所在处,到改行的最前面一个字符 |
| yy | 复制光标所在的那一行(常用) |
| nyy | 复制光标所在的向下n行 |
| y1G | 复制光标所在行到第一行的所有数据 |
| yG | 复制光标所在行到最后一行的所有数据 |
| y0 | 复制光标所在的那个字符到改行行首的所有数据 |
| y$ | 复制光标所在的那个字符到该行行尾的所有数据 |
| p,P | p为将已复制的数据在光标下一行粘贴,P则为贴在光标上一行 |
| J | 将光标所在行与下一行的数据结合成同一行 |
| c | 重复删除多个数据 |
| u | 恢复前一个操作(常用) |
| Ctrl+r | 重做前一个操作(常用) |
| . | 重复前一个操作(常用) |
进入一般命令模式切换到编辑模式的可用按键说明
| |
|---|
| i与I | 进入插入模式,i为从目前光标所在处插入,I为在目前所在行的第一个非空格处开始插入(常用) |
| a与A | 进入插入模式,a为从目前光标所在的下一个字符串开始插入,A为从光标所在行的最后一个字符处开始插入(常用) |
| o与O | 进入插入模式,o为在目前光标所在的下一行处插入新的一行,O为在目前光标所在处的上一行插入新的一行(常用) |
| r与R | 进入替换模式,r只会替换光标所在的那一个字符一次,R会一直替换光标所在的文字,直到按下Esc位置(常用) |
| Esc | 退出编辑模式,回到一般命令模式中(常用) |