VIM编辑器
1.什么是VIM
vi是Linux下的一个文本编辑工具类似于windows的记事本
查看是否安装vim
rpm -qa vim-enhanced
2.VIM与VI有什么关系?有什么区别?
其实上本质没有区别,vim是vi的增强版,vi没有语法高亮,语法检测vim有
系统默认最小化安装 没有vim 需要 yum安装
3.VIM四种模式
1.普通模式
1)光标跳转
G 文件结尾
gg 文件开头
$ 行尾
0 行首
Ngg 跳转到N行
2)大文件
ctrl+f 往下翻页
ctrl+b 往上翻页
3)复制
yy 复制当前光标所在的行
nyy 复制从当前开始的n行
p 粘贴至当前光标下一行
P(大写) 粘贴至当前光标上一行
4)删除、剪贴、撤销
dd 删除当前光标所在的行
ndd 删除从当前开始的n行
dG 删除当前行至最后一行
d1G/d1gg 删除当前行至第一行
d0 删除光标至行首
d$ 删除光标至行尾
D 删除当前光标及光标以后的内容
x 删除光标后的字符
X 删除光标前的字符
dd & p 剪切:先删除dd,后粘贴p
u 撤销上一次的操作
5)替换
替换当前光标标记的单个字符R
进入REPLACE模式, 连续替换,ESC结束
2.编辑模式
i 进入编辑模式,光标不做任何操作
I 进入编辑模式,并且光标会跳转至本行的头部
a 进入编辑模式,将当前光标往后一位
A 进入编辑模式,将光标移动至本行的尾部
o 进入编辑模式,并在当前光标下添加一行空白内容
O 进入编辑模式,并在当前光标上添加一行空白内容
Esc回到普通模式
编辑模式无法直接进去命令模式
3.命令模式
:set nu 显示行号
:set list 显示制表符(空行、tab键)
vim /etc/sudoers +102
编辑文件同时定位到102行。
1)文件保存与退出
:w 保存当前状态
:w! 强制保存当前状态
:q 退出当前文档(文档必须保存才能退出)
:q! 强制退出文档不会修改当前内容
:wq 先保存,在退出
:wq! 强制保存并退出
:x 先保存,在退出
:set nu 显示行号
:set nonu 取消行号
:number 跳转至对应的行号
2)文件内容查找
/ 需要搜索的内容(查找)
n 按搜索到的内容依次往下进行查找
N 按搜索到的内容依次往上进行查找
3)文件内容替换
:%s/A/B/g 把A换成B,如果A或B中有斜线,把分割的斜线换成#或@
s为替换 g为全局替换
:n1,n2%s/A/B/g 替换n1-n2行中的A换成B
用替换命令来转换大小写
\u&是把匹配的字符串第一个字符转成大写而\U&是把匹配的都转成大写(upper case),\l&和\L&是转成小写(lower case)
%s/匹配的字符串/\u&全部换大写
%s/匹配的字符串/\l&全部换小写
查看文件命令
cat 查看文件内容
cat -n 显示行号
echo 打印内容输出内容
echo -n 不换行
echo -e 支持转义字符
\n 换行 \t tab
more/less查看文件内容(浏览)
less -N 显示行号
head 查看文件头部默认10行
head -n pass 查看头部n行
tail 查看文件尾部 默认十行
tail -n 查看尾部第几行
tail -f =tailf 动态追踪一个文件尾部的实时变化,一般用于查看日志
grep 过滤内容|筛选内容 三剑客之一 老三
默认--color-auto 过滤的内容显示颜色
grep -n 显示文件所在的行
grep -i 忽略大小写
grep -v 取反
grep -E 同时过滤多个字符串
grep -E "oxxxx|xxxx" xx.txt
扩展 grep -E=egrep
grep -o 只输出匹配的内容
grep -n 过滤出的内容,在文件中的行号
grep -n "." x.txt ==cat -n x.txt
这里的“.” 表示任意一个字符
grep -w 按单词精准过滤
touch 创建文件 touch file
seq输出序列
seq 5 (1-5) seq 2 5 (2到5) seq 2 2 10 (2到10间隔2)
seq -s 指定分隔符
seq -s " " 5
seq -w 补齐位数