运维笔记(六)强大的vim编辑器

Bella ·
更新时间:2024-05-16
· 603 次阅读

文章目录1. vim编辑器介绍1.1 查看下vim在哪1.2 介绍一个技巧1.2 vim 的前身 vi2.vim操作2.1 vim的种模式2.2 vim命令操作技巧2.1 几种插入方式2.2 光标定位2.3 vim 文本编辑3. vim的视图模式批量注释和取消注释4. vim的命令行模式模式调用外部命令调用外部文件替换文本5.vim使用技巧临时设置行号永久配置行号同时打开多个文件对比文件6.其他问题交换文件文件问题乱码问题总结 1. vim编辑器介绍

在Linux江湖,最常用到的编辑器非vim莫属,vim的功能很强大。vim是vi的前身,最显著的区别是vim可以语法高亮
在终端中输入vim 然后敲下回车,你可以看到
在这里插入图片描述
可以看到 版本是 8.0 ,然后 :q 回车退出

1.1 查看下vim在哪

命令介绍 which 命令用于查找文件
在这里插入图片描述
使用 rpm -qf 来查看
在这里插入图片描述

1.2 介绍一个技巧

命令 :[root@localhost ~]# rpm -qf `which vim`
which vim 的返回值直接赋给 rpm (这种用法在其他命令给也同样适用)
在这里插入图片描述

1.2 vim 的前身 vi

Vi是Unix及Linux系统下标准的编辑器,由美国加州大学伯克利分校的Bill Joy所创立 [1] 。学会它后,您将在Linux的世界里畅行无阻。基本上vi可以分为三种状态,分别是命令模式、插入模式,和底行模式。
                                                                                                                                           ——摘自百度百科

在这里插入图片描述

2.vim操作 2.1 vim的种模式

vim有6钟基本模式和5种派生模式,这里只介绍4种基本模式
普通模式:该模式中,用的编辑器命令,比如移动光标,删除文本等等。是Vim启动后的默认模式。
命令模式:该模式下可以进行保存,搜索,替换,退出,显示行号等。
插入模式:插入模式里可以进行文字的输入,在该模式下按Esc键切换到普通模式。
视图模式:该模式是选中一块区域进行操作,包括删除,替换,复制,粘贴,改变大小写等
在这里插入图片描述

2.2 vim命令操作技巧

先使用vim打开/etc/passwd,尝试下方向键移动光标
在这里插入图片描述

2.1 几种插入方式
按键 作用
i 当前字符之前插入(光标之前)
I(大写i) 行首插入
a 当前字符之后插入(光标之后)
A 行尾插入
o 下一行插入 (在下方插入一行)
O 上一行插入 (在上方插入一行)
x 向后删除一个字符 (等同于Delete键)
X 向前删除一个字符 (等同于Backspace键)
u 撤销一步 (就像Windows中的 Ctrl+z 这个快捷键 )
r 替换

注意!不要保存 ,键入 :q! 回车(“:”也是命令的一部分)
在这里插入图片描述

2.2 光标定位
操作 说明
h 往左移动,等同于方向键 ←
j 往下移动,等同于方向键 ↓
k 往上移动,等同于方向键 ↑
l(L的次小写) 往右移动,等同于方向键 →
0/home 切换到行首
$/end 定位到行尾
gg 定位到文档的首行
G 定位到文档末行
(int)gg/(int)G 定位到n行 例如:6gg或6G就是定位到第6行

查找内容 /(string) 例如:/ftp (查找 ftp)
在这里插入图片描述
查找开头内容 /(string) 例如:/^ftp (查找 以ftp开头的)
在这里插入图片描述
查找结尾内容 /(string) 例如:/nologin$ (查找 以nologin结尾的)
在这里插入图片描述
找到多个,按下n,查找下一个 ;按下n,查找上一个

取消高亮 :noh 注意“:”的存在
在这里插入图片描述

2.3 vim 文本编辑

复制
y 复制字符 :对单个字符进行复制
yy 复制行 :对当前光标行进行复制
(int)yy 复制多行 :n+yy,复制n行 例如:3yy (复制3行)
在这里插入图片描述
粘贴
p 粘贴 : 粘贴剪贴板中的内容 刚才复制了3行,来粘贴下
在这里插入图片描述
删除
d 删除字符 :对单个字符进行删除
dd 删除行 :对当前光标行进行删除
(int)dd 删除多行 :n+yy,删除n行 例如:4dd (复制4行)
在这里插入图片描述
剪切
其实删除操作,就是剪切,可以直接粘贴
在这里插入图片描述
撤销
u 撤销 : 撤销上一步的操作
ctrl+r 还原: 还原撤销过的操作

3. vim的视图模式

v 进入可视模式
ctrl + v 进入可使块模式

批量注释和取消注释

1.使用 vim 打开 //bin/gettext.sh
在这里插入图片描述
2.移动光标到脚本代码位置,按下 Ctrl + v 进入 可视 块 模式
在这里插入图片描述
3.向下移动光标,可以看到选中的是块
在这里插入图片描述
4.按下 I( i 的大写)进入插入模式,输入一个 “#”
在这里插入图片描述
5.按下 Esc 键 看效果,批量注释
在这里插入图片描述
6.重复步骤 3 选中要取消的注释
在这里插入图片描述
7.按下d 批量删除
在这里插入图片描述

4. vim的命令行模式模式

按下 “ :”键进入命令模式 (注意“:”是英文的)

命令 作用
:q 没有进行任何修改,退出
:w 保存
:x 保存退出
:q! 修改过,不保存,强制退出
:wq 保存退出
:wq! 强制保存退出(针对只读文件或者需要权限)
调用外部命令

:!+【命令】例如 :!ifconfig
在这里插入图片描述
在这里插入图片描述

调用外部文件

:r [文件路径]
在这里插入图片描述
文件已被追加
在这里插入图片描述

替换文本

命令::【范围】 s【分隔符】【旧的内容】【分隔符】【新的内容】【参数】
每次替换后用 u 还原
:1,5 s/bin/NB 替换第1到5行中出现的第一个bin进行替换为NB
在这里插入图片描述
在这里插入图片描述
:1,5 s/bin/NB/g 替换第1到5行中查找到所有的bin进行替换为NB
在这里插入图片描述
:5 s/bin/NB #只把第5行中的bin内容替换成NB
在这里插入图片描述
:% s/user/NB/g 将文本中所有的user替换成NB
在这里插入图片描述
:% s/user/NB/gi 将文本中所有的user替换成NB, 并且忽略user的大小写
在这里插入图片描述
分隔符可以是任何符号,只要你喜欢

5.vim使用技巧 临时设置行号

:set nu 设置行号
在这里插入图片描述
:set nonu 取消设置行号
在这里插入图片描述

永久配置行号

影响单个用户
在需要配置的家目录下创建 .vimrc 文件 并写入 set nu
在这里插入图片描述
在这里插入图片描述
影响全部用户 修改/etc/vimrc文件
在这里插入图片描述

同时打开多个文件

上下方式 :[root@localhost ~]# vim -o /bin/gettext.sh /etc/passwd在这里插入图片描述
左右方式 [root@localhost ~]# vim -O /bin/gettext.sh /etc/passwd
在这里插入图片描述
退出 : :qa
两个文件切换 :Ctrl + ww

对比文件

复制一份 /etc/passwd 到/root/test
在这里插入图片描述
修改一下 /root/test/passwd
在这里插入图片描述
对比: [root@localhost ~]# vimdiff /etc/passwd /root/test/passwd
在这里插入图片描述

6.其他问题 交换文件文件问题

当你打开一个文件后,又用另外一个终端打开该文件,或者上次非正常关闭vim时就会出现下图。不用担心,因为编辑文件,会产生一个交换文件,就是缓存文件,存储在内存中,保存后替换硬盘中的文件。
出现这种情况可以使用R打开上次编辑的状态,也可以E放弃交换文件重新编辑
在这里插入图片描述

乱码问题

在Windows中创建一个txt文件
在这里插入图片描述
上传到Linux中 使用rz命令 若没有 dnf 安装 lrzsz
在这里插入图片描述
在这里插入图片描述
打开后发现是乱码的
在这里插入图片描述
使用 iconv 命令 来做编码转换,下面是参数

参数 作用
-l,–list 查看可用编码列表
-f,–from 转换编码时,后面跟 原始文件的编码
-t,–to 转换编码时,后面跟 原始目标的编码
-o,output 转换编码时,后面跟 输出的文件名

例:[root@localhost ~]# iconv -f gb2312 -t utf-8 coder.txt -o coder2.txt
在这里插入图片描述

总结

模式之间切换时,退出当前模式用 Esc
最后送上一张图,vim的熟悉程度提高了,工作效率会提高。
在这里插入图片描述


作者:superbugintime



运维 vim

需要 登录 后方可回复, 如果你还没有账号请 注册新账号