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