一、介绍
二、vi的使用
基本上vi共分为三种模式: 一般命令模式、编辑模式、命令行模式。vi编辑使用起来还是比较复杂的,需要记忆大量快捷操作,此处整理常用的按键说明,方便快速入门,后续还需要多使用才能熟练掌握。
- 一般命令模式
默认打开模式,在这个模式中你可以移动光标,可以删除、复制、粘贴来处理你的文件内容。 - 编辑模式
按下【i,I,o,O,a,A,r,R】任何一个字母进入编辑模式。进入编辑模式后,在界面的左下方会出现–Insert–或–Replace–字样。按下Esc可退出编辑模式。 - 命令行模式
主要用于保存、退出vi、显示行号等额外功能。一般模式中,输入【: / ?】三个中任何一个按钮,可以将光标移动到最下面那一行,输入相应命令进行操作。
三、按键说明
下面整理vi软件中会用到的常用按键,为减轻记忆量,只记录主要的部分。
-
第一部分(一般命令模式可用的功能按键说明)
- 移动光标的方法
按键 其他按键(不太好记) 说明 左箭头(←) h 光标向左移动一个字符 下箭头(↓) j 光标向左移动一个字符 上箭头(↑) k 光标向左移动一个字符 右箭头(→) l 光标向左移动一个字符 多次移动 例如向下移动30行,可以使用30↓ n<space> n表示数字,例如20,按下数字后再按空格键,光标向右移动这一行的n个字符 0 功能键[Home] 这是数字【0】,移动到这一行的最前面字符(常用) $ 功能键[End] 移动到这一行的最后面字符 G 移动到这个文件的最后一行 nG n为数字,移动到这个文件的第n行,例如20G则会移动到这个文件的第20行(可配合 :set nu) gg 移动到文件的第一行,相当于1G(常用) n<Enter> n为数字,光标向下移动n行(常用) - 查找与替换(替换暂没用过,有需要可以自行查找尝试)
按键 说明 /word 使光标下下寻找一个word的字符串(常用) ?word 向光标之上寻找一个word的字符串 n 重复前一个查找的操作。举例来说,如果我们执行/bird去向下寻找bird字符串,则按下n后会向下继续寻找,反之如果执行?bird则按下n后向上继续寻找bird字符串 N 与n刚好相反,会反向进行前一个查找操作 :n1,n2s/word1/word2/g n1与n2行之间寻找word1这个字符串,并替换为word2(常用) :1,$s/word1/word2/g 从第一行到最后一行寻找word1字符串,并将字符串替换为word2(常用) :1,$s/word1/word2/g 从第一行到最后一行寻找word1字符串,并将字符串替换为word2,且在替换前需要给用户确认(常用) - 删除、复制与粘贴
按键 说明 x与X x为向后删除一个字符,X为向前删除一个字符(常用) nx n为数字,连续向后删除n个字符(常用) dd 删除光标所在的那一整行(常用) ndd n为数字,删除光标所在的向下n行(常用) dG 删除光标所在到最后一行数据 d$ 删除光标所在处,到该行最后一个字符 d0 那个是数字0,删除光标所在处到改行最前面一个字符 yy 赋值光标所在的那一行 nyy n为数字,复制光标所在的向下n行(常用) y0 复制光标所在字符到该行行首的所有数据 y$ 复制光标所在那个字符到该行行尾的所有数据 p与P p为将已复制的数据在光标下一行粘贴,P为贴在光标上一行 u 恢复前一个操作–撤销(常用) [Ctrl]+r 重做上一个操作(恢复撤销) . 小数点,意思是重复前一个操作。如果你想要重复删除、重复粘贴等操作,使用【.】就好了(常用) -
第二部分(一般命令模式切换到编辑模式)
我倾向于记住i和o,看个人习惯
按键 | 说明 |
---|---|
i或I | 进入插入模式,其中i为【从目前光标所在处插入】(常用),I为【在目前所在行的第一个非空格符处开始插入】 |
a与A | 进入插入模式,a为从目前光标所在下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入 |
o与O | 进入插入模式,其中o为目前光标所在的下一行处插入新的一行;O为在上方插入一行 |
r与R | 进入替换模式,r只会替换光标所在的那一个字符一次;R会一直替换光标所在的文字,直到按下Esc为止 |
Esc | 退出编辑模式,回到一般命令模式中 |
- 第三部分(一般命令模式切换到命令行模式)
按键 | 说明 |
---|---|
:w | 将编辑的数据写入磁盘文件中(常用) |
:w! | 强制写入文件,不过要看有咩有权限写入 |
:q | 退出vi(常用) |
:q! | 若曾修改过文件,又不想保存,使用!强制退出 |
:wq | 保存后退出 |
ZZ | 保存后退出 |
:w [filename] | 将编辑的数据保存成另一个文件(类似于另存) |
:r [filename] | 读入另一个文件的数据,将filename这个文件内容加到光标所在行后面 |
- 环境设置参数
按键 | 说明 |
---|---|
:set nu | 设置显示行号 |
:set nonu | 取消显示行号 |
- 常用命令示意图
四、总结
*“工欲善其事,必先利其器”。Vim作为一个强大灵活的文本编辑工具,拥有丰富的功能和操作方式,使得它成为许多开发者和系统管理员钟爱的利器。总的来说,vim练习是必不可少的,首先要掌握常用的快捷命令,然后勤加练习,相信我们都能够熟练掌握Vim的各种技巧,从而提高工作效率并享受到编程的乐趣。