一、vim
1.vim工作模式
①vim帮助
方法1:
vim --help ##下面这个截图只是一部分,不是关于vim的所有帮助信息
方法2:
vimtutor
②vim工作参数设定
临时设定
:set 参数信息
:set nu ##显示行号
:set nonu ##去掉行号
:set mouse=a ##鼠标可选
:set cursorline ##显示行线
注意:以上设定方式在vim推出后会还原默认,更改配置的时候需要按esc加:然后输入
#永久设定
vim /etc/vimrc
注意:以上操作必须用root用户,更改永久设定不需要加:且最好写在文件最后
3.字符管理
y ##复制
yl ##复制一个字母
y3l ##复制三个字母
yw ##复制一个单词
y3w ##复制三个单词
yy ##复制一整行
y3y ##复制三整行
c ##剪切
cl ##剪切一个字母
c3l ##剪切三个字母
cw ##剪切一个单词
c3w ##剪切三个单词
cc ##剪切一整行
c3c ##剪切三整行
注意:当用c做剪切之后,vim会进入插入模式
如果需要粘贴那么要按<esc>退出, ##一定要按esc后按p
d ##删除(与前面相似)
p ##粘贴(与前面相似)
u ##撤销
crtl+r ##恢复
4.vim可视化模式
①crtl+v ,进入可视化模式,然后用键盘选中,后复制y,粘贴p
②可视化模式的批量添加
crtl+v 进入可视化模式,选中要添加字符所在列!!!!!!!!!!,一定注意是列
然后按y
再按“I” ##此时注意现在是大写
进入插入模式
按<esc>再按p批量添加字符
5.字符的替换,下图为第一个指令的例子
:%s/源字符/替换后字符 ##每以行出现的第一个关键字
:%s/源字符/替换后字符/g ##全文替换,s所有行,g表示所有列
:3,5s/源字符/替换后字符/g ##替换第三行到第五行的关键字
:/lp/,/halt/s/sbin/hello/g ##替换lp字符和halt字符之间的所有关键字
6.在vim中编写多个文件
vim file
:sp file1 ##需要先按esc退出插入模式
ctrl+w 上|下|左|右 ##光标在窗口之间的移动
crtl+w放开后 +v ##就可以向右边扩展
ctrl+w放开后 +s ## 就可以向下扩展
7.光标移动及字符搜索
光标的移动
:数字 ##光标移动到指定的行
<HOME> ##光标移动到行首
<END> ##光标移动到行尾
G ##光标移动到最后一行
gg ##光标移动到第一行
搜索字符
/关键字
n ##向下匹配
N ##向上匹配
二、插入模式
i ##光标所在位置插入
I ##光标所在行的行首插入
a ##光标所在字符的下个字符插入
A ##光标所在行为插入
s ##删除光标所在字符插入
S ##删除光标所在行插入
o ##光标所在行的下一行插入
O ##光标所在行的上一行插入
三、退出模式
:q ##再打开文件后没有对文件作任何修改时使用
:wq ##退出保存,在对文件修改后并对保存内容时使用
:q! ##强制退出,在对文件做修改后要放弃修改时使用
:wq! ##强制退出保存,在对属于自己的文件或root用户时使用
注:这是基本的操作,多余需要自己去网上搜索
四、在linux中管理输入输出
1.输入输出
①输出管理
> ##重定向正确输出
2> ##重定向错误输出
&> ##重定向所有输出
“注意:重定向会覆盖原文件内容"
例子
find /etc -name passwd ##此命令在student用户下执行因为权限问题会报错
find /etc -name passwd >file ##将正确的输入定向到file
find /etc -name passwd 2>file ##把错误的输出定向到file
find /etc -name passwd &>file ##把所有的输出定向到file
②输出追加
>> ##追加正确输出
2>> ##追加错误输出
&>> ##追加所有输出
例子:
find /etc -name passwd ##此命令在student用户下执行因为权限问题会报错
find /etc -name passwd >>file ##将正确的输入追加到file
find /etc -name passwd 2>>file ##把错误的输出追加到file
find /etc -name passwd &>>file ##把所有的输出追加到file
③输入管理
<<EOF
内容
EOF
例子:
cat > westos <<EOF ####将EOF后的内容输入到westos里面的
hello
westos
world
EOF
#/bin/bash ##这是一个shell脚本,将EOF以后的内容输入到passwd中
passwd <<EOF
student
2018lei
2018lei
EOF
2.管道
| ##把第一条命令的正确输出变成第二条命令的输入
2>&1 ##将编号位2的错误输出转换为编号为1
ls /bin | wc -l ##统计/bin中有多少文件
find /etc -name passwd 2>&1 | wc -l ##将passwd中的标实符为2的转换为1并输出,统计个数
find /etc -name passwd 2>&1 |tee file |wc -l ##将passwd中的标实符为2的转换为1并输出到file文件中,统计个数