一、vim介绍
1、vim是从vi发展出来的一个文本编辑器,处理文本文件功能强大
2、vim三种主要工作模式
(1)默认命令模式(Normal):
【h(或向左方向键)】 光标左移一个字符
【j(或向下方向键)】 光标下移一个字符
【k(或向上方向键)】 光标上移一个字符
【l(或向右方向键)】 光标右移一个字符
【[Ctrl] + f】 屏幕向下移动一页(相当于Page Down键)
【[Ctrl] + b】 屏幕向上移动一页(相当于Page Up键)
【[0]或[Home]】 光标移动到当前行的最前面
【[$]或[End]】 光标移动到当前行的末尾
【G】 光标移动到文件的最后一行(第一个字符处)
【nG】 n为数字(下同),移动到当前文件中第n行
【gg】 移动到文件的第一行,相当于"1G"
【n[Enter]】 光标向下移动n行
【/word】 在文件中查找内容为word的字符串(向下查找)
【?word】 在文件中查找内容为word的字符串(向上查找)
【[n]】 表示重复查找动作,即查找下一个
【[N]】 反向查找下一个
【:n1,n2s/word1/word2/g】 n1、n2为数字,在第n1行到第n2行之间查找word1字符串,并将其替换成word2,g表示查找所有,没有g表示只查找没一行第一个
【:1,s/word1/word2/g】从第一行(第n行同理)到最后一行查找word1注册,并将其替换成word2【:1,s/word1/word2/g】从第一行(第n行同理)到最后一行查找word1注册,并将其替换成word2【:1,s/word1/word2/gc】 功能同上,只不过每次替换时都会让用户确认
【x,X】 x为向后删除一个字符,相当于[Delete],X为向前删除一个字符,相当于[Backspace]
【dd】 删除光标所在的一整行
【ndd】 删除光标所在的向下n行
【yy】 复制光标所在的那一行
【nyy】 复制光标所在的向下n行
【p,P】 p为将已经复制的数据在光标下一行粘贴;P为将已经复制的数据在光标上一行粘贴
【u】 撤消上一个操作
【[Ctrl] + r】 多次撤消
【.】 这是小数点键,重复上一个操作
(2)插入/编辑模式(Insert):用户可以编辑文本内容;
从默认命令模式进入编辑模式,只需按i、I、a、A、o、O、r、R中的某一个按键即可,当进入编辑模式时,在屏幕的尾行显示INSERT字样,按ESC键,可从编辑模式切换成默认模式;
1、进入插入模式(6个命令)
【i】 从目前光标所在处插入
【I】 从目前光标
【a】 从当前光标所在的下一个字符处开始插入
【A】 从光标所在行的最后一个字符处开始插入
【o】 英文小写字母o,在目前光标所在行的下一行处插入新的一行并开始插入
【O】 英文大写字母O,在目前光标所在行的上一行处插入新的一行并开始插入
2、进入替换模式(2个命令)
【r】 只会替换光标所在的那一个字符一次
【R】 会一直替换光标所在字符,直到按下[ESC]键为止
【[ESC]】 退出编辑模式回到一般模式
二、一般模式切换到命令行模式
【:w】 保存文件
【:w!】 若文件为只读,强制保存文件
【:q】 离开vi
【:q!】 不保存强制离开vi
【:wq】 保存后离开
【:wq!】 强制保存后离开
【:! command】 暂时离开vi到命令行下执行一个命令后的显示结果
【:set nu】 显示行号
【:set nonu】 取消显示行号
【:w newfile】 另存为
【:set fileencoding】 查看当前文件编码格式
【:set fileencoding=utf-8】 设置当前文件编码格式为utf-8,也可以设置成其他编码格式
【:set fileformat】 查看当前文件的断行格式(doswindows,unix或macintosh)
【:set fileformat=unix】 将当前文件的断行格式设置为unix格式
三、扩展vim加密
Linux用vim/vi给文件加密和解密
1、利用vim/vi加密文件:
优点:加密后,如果不知道密码,就看不到明文,包括roor用户也看不到;
确定:很明显让别人知道加密了,容易让别人把加密的文件破坏掉,包括内容破坏和删除;
1)首先在root主目录下创建一个test.txt文件;
2)进入编辑模式,输入文件内容后按ESC,然后输入:X(注意是大写X),回车后
3)回车后,这时系统提示让你输入密码;
4)保存后退出,现在这个文件以及加密了;
5)用cat或more查看文件显示乱码;用vim/vi重新编辑这个文件,会提示输入密码;
2、解密用vi加密的文件
1)用vim/vi打开文件,输入密码后,将密码设置为空,输入:set key= 然后回车保存文件,这样文件解密完成