vim的模式
命令模式:浏览文件,临时更改vim的工作模式,对文字批量处理
插入模式:对文件内容进行编辑
退出模式:退出vim模式
vim命令模式
1.vim帮助
方法1:
vim
:help
方法2
vimtutor
2.vim工作参数设定
临时设定
:set 参数信息
:set nu 每一行前显示行号
:set nonu 取消行号显示
:set mouse=a 显示鼠标
:set cursorline 显示行线
注意:以上设定方式在vim退出后会还原默认
如果要永久保存vim的工作方式需要编辑vim的配置文件:/etc/vimrc
set nu
set mouse=a
set cursorline
永久保存设定必须用root用户才能完成
3.搜索字符
/关键字
n 向下匹配
N 向上匹配
4.字符管理
y 复制
yl 复制一个字母
y3l 复制三个字母
yw 复制一个单词
y3w 复制三个单词
yy 复制一整行
y3y 复制三行
c 剪切
cl 剪切一个字母
c3l 剪切三个字母
cw 剪切一个单词
c3w 剪切三个单词
cc 剪切一整行
c3c 剪切三行
注意:当用c做剪切动作后,vim会进入插入模式如果需要粘贴那么要按退出插入模式然后按
粘贴
d 删除
dl 删除一个字母
d3l 删除三个字母
dw 删除一个单词
d3w 删除三个单词
dd 删除一整行
d3d 删除三行
p 粘贴
u 撤销
ctrl+r 恢复
5.vim的可视化模式
ctrl+v 进入可视化模式,在这个模式可以选择区域操作批量添加字符
ctrl+v 进入可视化模式选中要添加字符所在列按"I"进入插入模式
写入字符
按批量添加字符出现
6.字符的替换
:%s/源字符/替换后字符 每一行出现的第一个关键字
:%s/源字符/替换后字符/g 全文替换
:1,3s/源字符/替换后字符/g 替换1到3行
注意:%s标示所有行,g标示所有列
7.在vim中编写多个文件
vim file
:sp file1 同时编辑当前文件和flie1
ctrl+w s 上下分屏
ctrl+w v 左右分屏
ctrl+c 关闭光标所在屏幕
ctrl+w 上|下|左|右 光标在窗口之间的移动
8.光标移动及字符搜索
在命令模式下光标的移动
:数字 光标移动到指定的行
<HOME> 光标移动到行首
<END> 光标移动到行尾
G 光标移动到最后一行
gg 光标移动到第一行
插入模式
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
find /etc/ -name passwd 2> file
find /etc/ -name passwd &> file
输出追加
“追加会把定向的输出放到原文件最后不会覆盖原文件”
>>
2>>
&>>
find /etc -name passwd >> file
find /etc -name passwd 2>> file.err
find /etc -name passwd &>> file.all
注意:同上,但输出追加不会清空文件里原有的字符
输入重定向
cat>文件名<<EOF
内容
EOF
示例:
管道
“|”管道的作用是把前一条命令的输出变成下一条命令的输入
注意:管道只允许正确输出通过
如果要保存输出内容,用到的命令是“tee”
| ##把第一条命令的正确输出变成第二条命令的输入
2>&1 ##将编号位2的错误输出转换成编号为1
tee ##将输出复制一份到指定位置
ls /bin | wc -l
find /etc -name passwd 2>&1 | wc -l
find /etc/ -name passwd 2>&1 | tee file |wc -l