vi和vim编辑器使用教程
Linux系统会内置vi文本编译器
vim具有程序编辑的能力,可以看做是vi的增强版本,可以主动的以字体颜色辨别语法的正确性,方便程序设计,代码补完、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用。
vi和vim常用的三种模式
正常模式
以vim打开一个档案就直接进入一般模式了(这是默认的模式),在这个模式中,你可以使用【上下左右】按键来移动光标,你可以使用【删除字符】或【删除整行】来处理档案内容,也可以使用【复制、粘贴】来处理你的文件数据
插入模式
按下i,I,o,O,a,A,r,R等任何一个字母才会进入编辑模式,一般来说按i即可。
命令行模式
输出esc再输入:在这个模式中,可以提供你相关指令,完成读取,存盘,替换,离开vim,显示行号等的动作则是在此模式当中达成的。
复制粘贴【一般模式】一进去那个模式
向前/向后删除一个字符 | x,X | |
连续向后删除 n 个字符 | nx | |
复制当前行 | yy | |
复制当前向下的5行 | 5yy | |
将复制内容在前一行/后一行粘贴 | p / P | |
粘贴 | p | |
删除当前行 | dd | |
删除当前向下的5行 | 5dd | |
删除5-10行内容 | :5,10d | |
删除光标所在到第二行的所有数据 | d2G | |
删除光标所在到最后一行的所有数据 | dG | |
删除游标所在处,到该行的最后一个字符 | d$ | |
撤销到上一步 | u | |
重做上一个动作。 | [Ctrl]+r | |
重复前一个动作 | . |
光标的移动【一般模式】
文档的末行 | G(相当于1G) | |
文档的最首行 | gg | |
移动到第n行 | nG (n代表行数) | |
移动到第n行 | ngg | |
屏幕向下移动一页 | Ctrl + f | |
屏幕向上移动一页 | Ctrl + b | |
移动到这行第一个字符 | 0或Home | |
移动到这行最后字符 | $或End | |
移动光标 | h j k l 或者 上下左右箭头 | |
光标向下移动n行 | n(数字) + 回车(Enter) |
搜索字符【一般模式下】
向光标之下寻找一个字符串 | /关键字 | |
向光标之上寻找一个字符串 | ?关键字 | |
重复前一个搜寻的动作 | n | |
『反向』进行前一个搜寻动作 | N |
替换字符【命令模式下】
设置/取消文件的行号 | :set nu/:set nonu | |
全文寻找字符串,并将该字符串取代 | :1,$s/word1/word2/g 或 :%s/word1/word2/g | g后面加上c需要用户确认 |
在n1与n2行之间寻找 字符串,并将该字符串取代 | :n1,n2s/word1/word2/g | |
全文寻找字符串,并将该字符串取代、且在取代前显示提示字符给用户确认 (confirm) 是否需要取代!(常用) | :1,$s/word1/word2/gc 或 :%s/word1/word2/gc |
一般模式切换到编辑模式说明
i 为『从目前光标所在处输入』 | ||
I 为『在目前所在行的第一个非空格符处开始输入 | ||
a 为『从目前光标所在的下一个字符处开始输入 | ||
A 为『从光标所在行的最后一个字符处开始输入 | ||
o 为在目前光标所在的下一行处输入新的一行 | ||
O 为在目前光标所在的上一行处输入新的一行 | ||
进入取代模式 | ||
r 只会取代光标所在的那一个字符一次;R会一直取代光标所在的文字,直到按下 ESC 为止 |
一般模式切换到指令行模式【命令模式下】
将编辑的数据写入硬盘档案中 | :w | |
若文件属性为『只读』时,强制写入该档案。 | :w! | |
离开vim | :q | |
修改过档案,又不想储存,使用 ! 为强制离开不储存 | :q! | |
存储后离开 | :wq | |
如果修改过,保存当前文件,然后退出 | ZZ | |
不保存,强制退出 | ZQ |