Vim的管理和控制
一、vim的工作模式
1.命令模式
浏览文件,临时更改vim的工作方式,对字符批量处理
2.插入模式
对文件内容进行编辑
3.退出模式
退出vim程序
二、vim的命令模式
1.vim帮助
方法1:vim:help
方法2vimtutorfind
2.vim工作参数设定#临时设定 :set 参数信息 :set nu ##数字显示 :set nonu ##取消数字显示 :set mouse=a ##鼠标显示 :set cursorline ##下划线显示
注意:以上设定方式在vim退出后会还原默认
3.永久设定vim /etc/vimrc :set nu ##数字显示 :set nonu ##取消数字显示 :set mouse=a ##鼠标显示 :set cursorline ##下划线显示
注意:以上操作必须用root用户才能完成
4.字符管理y yl ##复制一个字母<C-F12> y3l ##复制3个字母 yw ##复制一个单词 y3w ##复制3个单词 yy ##复制1行 y3y ##复制3行 d dl ##删除一个字母 d3l ##删除3个字母 dw ##删除1个单词 d3w ##删除3个单词 dd ##删除1行 d3d ##删除3行 c cl ##剪切1个字母 c3l ##剪切3个字母 cw ##剪切1个单词 c3w ##剪切3个单词 cc ##剪切1行 c3c ##剪切3行
注意:当用c做剪切动作后,vim会进入插入模式, 如果需要粘贴那么要按<ESC>退出插入模式,然后按<P>粘。p ##粘贴 u ##撤销 ctrl+r ##恢复
5.vim的可视化模式ctrl+v ##进入可视化模式 ##可视化模式的批量添加 ctrl+v 进入可视化模式,选中要添加字符所在列, 按"I"进入插入模式,写入字符,按<ESC>批量添加字符出现。
6.字符的替换
:%s/源字符/替换后字符 ##每一行出现的第一个关键字 :%s/源字符/替换后字符/g ##全文替换,s所有行,g表示所有列 :1,5s/源字符/替换后字符/g ##替换第三行到第五行的关键字 :/lp/,/halt/s/sbin/hello/g ##图还lp字符和halt字符之间的所有关进字
7.在vim中编写多个文件
vim file :sp file1 ##打开file1 ctrl+w 上|下|左|右 ##光标在窗口之间的移动
8.光标移动及字符搜索:数字 ##光标移动到指定的行 <HOME> ##光标移动到行首 <END> ##光标移动到行尾 G ##光标移动到最后一行 gg ##光标移动到第一行
9.搜索字符
/关键字 n ##向下匹配 N ##向上匹配
10.插入模式
i ##光标所在位置插入 I ##光标所在行的行首插入 A ##光标所在行行尾插入 a ##光标所在字符的下个字符插入 s ##删除光标所在字符插入 S ##删除光标所在行插入 o ##光标所在行的下一行插入 O ##光标所在行的上一行插入
11.退出模式
:q ##退出,在打开文件后没有对文件做任何修改时可使用 :wq ##退出保存,在对文件修改后并保存内容时使用 :q! ##强制退出,在对文件做修改后要放弃修改时使用 :wq! ##强制退出保存,在对属于自己的文件或你时root用户时使用
三、linux中管理输入输出
1.输出重定向
> ##重定向正确输出 2> ##重定向错误输出 &> ##重定向所有输出 "注意:重定向动作会覆盖源文件内容" 例子: 用student用户登陆系统 find /etc/ -name passwd ##此命令在student用户下执行因为权限问题会报错 find /etc/ -name passwd > file find /etc/ -name passwd 2> file find /etc/ -name passwd &> file
2.输出追加
"追加会把定向的输出放到原文件最后不会覆盖原文件" >> 2>> &>> find /etc -name passwd >> file find /etc -name passwd 2>> file.err find /etc -name passwd &>> file.all
3.输入管理内容 <<EOF cat > file <<EOF >hello >world >bfue EOF cat file hello world bfue
4.管道lsls | ##把第一条命令的正确输出变成第二条命令的输入 2>&1 ##将编号位2的错误输出转换成编号为1 tee ##将输出复制一份到指定位置 ls /bin | wc -l ##统计/bin中有多少文件 示例: find /etc -name passwd 2>&1 | wc -l find /etc/ -name passwd 2>&1 | tee file |wc -l cat file