vim编辑器
vim是比vi更强大的文本编辑器,vim可以显示高亮颜色语法
vim的作用
- 编辑配置⽂件
- 写脚本
- 批量修改
- 查找内容
- 语法检测⾼亮显示
如果系统没有vim命令或者无法使用,则需要安装
安装命令yum install -y vim
vim编辑器配置文件整体流程如下:
1.默认打开文件处于普通模式
2.需要从普通模式切换至编辑模式
3.编辑模式修改配置文件, 然后返回普通模式.
4.最后通过普通模式进入末行模式,保存和退出操作.
vim的三种模式
1.命令模式(普通模式)
最开始使用vim命令打开文件时,即进入命令模式
跳转光标控制光标移动, 可对文本进行查看、翻页、复制、粘贴、删除、剪切等工作。
使用vim filename 编辑一个文件时,一进入该文件就是命令模式了。
在这个模式下,可以进行光标移动、复制、删除、粘贴操作。(默认打开文件进入的是普通模式)
G(shift + g) :跳转光标至末尾
gg : 跳转光标至开头
Ngg :跳转光标至当前文件内的N行(N为数字)
$:(Shift + 4)将光标跳转到行末
^:(shift + 6)将光标跳转到行首
————————————————————————————————————
文件内容比较多的情况下可以翻页查看
ctrl+f :往下翻页(行比较多)
ctrl+b :往上翻页
_____________________________________
复制粘贴用法
yy :复制当前光标所在的行
Nyy|yNy :N代表阿拉伯数字,复制光标所在行及后N行内容
p(小写) :粘贴至当前光标下一行
P(大写):粘贴至当前光标上一行
—————————————————————————————————————
删除剪切
dd:删除当前光标所在的行
Ndd|dNd:删除当前光标所在的行以及往下的N行(N为数字)
dG:删除当前光标以后的所有行
D:删除当前光标及光标以后的内容
x:删除当前光标标记往后的字符
X:删除当前光标标记往前的字符
ddp:先删除dd(number dd),后粘贴p
_____________________________________
撤销替换回滚
r:替换光标所在字符
R:批量替换字符,替换光标所在字符及后面所有字符,直到按ESC结束
u:撤销上一步操作
Ctrl+r:恢复撤销
2.编辑模式(输入模式)
从命令模式切换到编辑模式,当进入编辑模式时,会在屏幕的最下一行出现“INSERT的字样。
从编辑模式回到命令模式只需要按键盘左上方的 ESC 键即可。
# 进入编辑模式的标识,左下角 -- INSERT --
i 进入编辑模式,光标不做任何操作
I 进入编辑模式,并且光标会跳转至本行的头部
a 进入编辑模式,将当前光标往后一位
A 进入编辑模式,将光标移动至本行的尾部
o 进入编辑模式,并在当前光标下添加一行空白内容
O(大写) 进入编辑模式,并在当前光标上添加一行空白内容
s 进入编辑模式,并删除当前光标下的字符
S(大写) 进入编辑模式,并删除当前光标所在行
3.末行模式(底行模式)
保存或退出文档,以及设置编辑环境,在命令模式下,输入 ":" 或者 "/" 即可进入末行模式。
在该模式下,可以进行的操作有,显示行号、搜索、替换、保存、退出,还可以让用户执行外部的Linux命令或跳转到所编写文档的特定行数
末行模式(必须从命令行模式进入)
:(shift+;)切入再输入
:w 保存当前状态
:w! 强制保存当前状态
:q 退出当前文档(文档必须保存才能退出) 文件在没有改动的情况下可以退出
:q! 强制退出文档不会修改当前内容
:wq 先保存,在退出
:wq! 强制保存并退出
:x 先保存,在退出
ZZ 保存退出, shfit+zz
:number 跳转至对应的行号,和普通模式Ngg一个意思
————————————————————————————————————————
跳转行号
# 命令模式中,跳转⾏号 Ngg
:N N代表阿拉伯数字,将光标跳转到指定的⾏
————————————————————————————————————————
内容的查找和替换
内容查找
/string:查找想要查找的字符串,输⼊回⻋后会⾼亮显示
按n:向下查找下⼀个字符串
按N:向上查找上⼀个字符串
## 内容替换
:/原内容/要替换的内容/
:/root/zls/ # 把root替换成zls(只这么写,不⽣效)
:s/root/zls/ # s:查找并替换
:s/root/zls/g # g:global 全局(默认只替换提⼀⾏内容)
:1,10s/root/zls/g # 1,10 把1-10⾏匹配到的内容全部替换
:%s/rpc/555/g # %代替所有⾏
:%s###g
把 /sbin/nologin 替换成 /bin/bash
:%s/\/sbin\/nologin/\/bin\/bash/g
:%s#/bin/bash#/sbin/nologin#g ## 推荐⽅式
分隔符可以随意使⽤,建议就是,原内容和新内容,⾥⾯不包含你写的分隔符即可。
\#abc $abc
————————————————————————————————————————
末行模式报错举例
⽂件内容修改后,不保存想退出 :q,必须加!退出
E37: No write since last change (add ! to override)
## 针对root⽤户,只读⽂件⽆法修改,保存退出需要加! :wq!
E45: 'readonly' option is set (add ! to override)
## ⽆法打开这个⽂件
E212: Unable to open and write files
————————————————————————————————————————
末行模式的其他功能
# 显示⾏号
:set number # 简写: :set nu
# ⾃动缩进
:set autoindent # 简写: :set ai
# 不区分⼤⼩写
:set ignorecase # 简写: :set ic
# 查看⽂件中的结尾和制表符,等特殊符号
:set list
## 取消设置
:set no{ai|ic|nolist}
:set nonu
:set noai
:set noic
:set nolist
vim视图模式
视图模式,是属于命令模式之下的⼀种模式
1.块试图模式
Ctrl + v : 进⼊可视块视图模式
-- VISUAL BLOCK --(视图模式)
# 1.按光标删除选中的所有字符 x
# 2.批量修改⽂件(添加注释)
1)按Ctrl + v进⼊可视块视图模式
2)移动光标
- 1.按下键
- 2.Ngg
- 3.G
3)按 Shift + i 进⼊编辑模式
4)输⼊ "#"
5)按ESC退出编辑模式
*vim里面的环境变量都是临时生效,如下功能
:set nu 显示行号
:set ic 忽略大小写, 在搜索的时候有用
:set ai 自动缩进
:set list 显示制表符(空行、tab键)
:set no[nu|ic|ai…] 取消临时设定的变量
如需要永久生效需要更改vim,命令vim ~/.vimrc,然后编辑个人环境变量
2.行视图模式
shift + v 进⼊⾏视图模式
vim扩展内容选项
## ⽂件对⽐命令:diff (不推荐)
0 ✓ 11:21:31 root@zabbix-server,10.0.0.62:~ # diff zls.txt zls1.txt
2c2
<
---
> 2,xxx,132
4c4
< 5,123,456
---
> 5,123,457
总结:显示复杂不方便查看
## ⽂件对⽐命令:vimdiff(推荐)
两个文件退出需要一个一个退出 :q
总结:查看方便易识别
## vim 同时编辑多个⽂件
-o:⽔平分割
-O:垂直分割
快捷键 Ctrl + ww 切换⽂件
## 编辑⽂件指定的⾏
vim +N :N代表阿拉伯数字