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

文章目录

    • 1. vim编辑器介绍
        • 1.1 查看下vim在哪
        • 1.2 介绍一个技巧
        • 1.2 vim 的前身 vi
    • 2.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 然后敲下回车,你可以看到
运维笔记(六)强大的vim编辑器_第1张图片
可以看到 版本是 8.0 ,然后 :q 回车退出

1.1 查看下vim在哪

命令介绍 which 命令用于查找文件
运维笔记(六)强大的vim编辑器_第2张图片
使用 rpm -qf 来查看
运维笔记(六)强大的vim编辑器_第3张图片

1.2 介绍一个技巧

命令 :[root@localhost ~]# rpm -qf `which vim`
which vim 的返回值直接赋给 rpm (这种用法在其他命令给也同样适用)
运维笔记(六)强大的vim编辑器_第4张图片

1.2 vim 的前身 vi

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

运维笔记(六)强大的vim编辑器_第5张图片

2.vim操作

2.1 vim的种模式

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

2.2 vim命令操作技巧

先使用vim打开/etc/passwd,尝试下方向键移动光标
运维笔记(六)强大的vim编辑器_第7张图片

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

注意!不要保存 ,键入 :q! 回车(“:”也是命令的一部分)
运维笔记(六)强大的vim编辑器_第8张图片

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

查找内容 /(string) 例如:/ftp (查找 ftp)
运维笔记(六)强大的vim编辑器_第9张图片
查找开头内容 /(string) 例如:/^ftp (查找 以ftp开头的)
运维笔记(六)强大的vim编辑器_第10张图片
查找结尾内容 /(string) 例如:/nologin$ (查找 以nologin结尾的)
运维笔记(六)强大的vim编辑器_第11张图片
找到多个,按下n,查找下一个 ;按下n,查找上一个

取消高亮 :noh 注意“:”的存在
运维笔记(六)强大的vim编辑器_第12张图片

2.3 vim 文本编辑

复制
y 复制字符 :对单个字符进行复制
yy 复制行 :对当前光标行进行复制
(int)yy 复制多行 :n+yy,复制n行 例如:3yy (复制3行)
运维笔记(六)强大的vim编辑器_第13张图片
粘贴
p 粘贴 : 粘贴剪贴板中的内容 刚才复制了3行,来粘贴下
运维笔记(六)强大的vim编辑器_第14张图片
删除
d 删除字符 :对单个字符进行删除
dd 删除行 :对当前光标行进行删除
(int)dd 删除多行 :n+yy,删除n行 例如:4dd (复制4行)
运维笔记(六)强大的vim编辑器_第15张图片
剪切
其实删除操作,就是剪切,可以直接粘贴
运维笔记(六)强大的vim编辑器_第16张图片
撤销
u 撤销 : 撤销上一步的操作
ctrl+r 还原: 还原撤销过的操作

3. vim的视图模式

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

批量注释和取消注释

1.使用 vim 打开 //bin/gettext.sh
运维笔记(六)强大的vim编辑器_第17张图片
2.移动光标到脚本代码位置,按下 Ctrl + v 进入 可视 块 模式
运维笔记(六)强大的vim编辑器_第18张图片
3.向下移动光标,可以看到选中的是块
运维笔记(六)强大的vim编辑器_第19张图片
4.按下 I( i 的大写)进入插入模式,输入一个 “#”
运维笔记(六)强大的vim编辑器_第20张图片
5.按下 Esc 键 看效果,批量注释
运维笔记(六)强大的vim编辑器_第21张图片
6.重复步骤 3 选中要取消的注释
运维笔记(六)强大的vim编辑器_第22张图片
7.按下d 批量删除
运维笔记(六)强大的vim编辑器_第23张图片

4. vim的命令行模式模式

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

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

:!+【命令】例如 :!ifconfig
运维笔记(六)强大的vim编辑器_第24张图片
运维笔记(六)强大的vim编辑器_第25张图片

调用外部文件

:r [文件路径]
运维笔记(六)强大的vim编辑器_第26张图片
文件已被追加
运维笔记(六)强大的vim编辑器_第27张图片

替换文本

命令::【范围】 s【分隔符】【旧的内容】【分隔符】【新的内容】【参数】
每次替换后用 u 还原
:1,5 s/bin/NB 替换第1到5行中出现的第一个bin进行替换为NB
运维笔记(六)强大的vim编辑器_第28张图片
运维笔记(六)强大的vim编辑器_第29张图片
:1,5 s/bin/NB/g 替换第1到5行中查找到所有的bin进行替换为NB
运维笔记(六)强大的vim编辑器_第30张图片
:5 s/bin/NB #只把第5行中的bin内容替换成NB
运维笔记(六)强大的vim编辑器_第31张图片
:% s/user/NB/g 将文本中所有的user替换成NB
运维笔记(六)强大的vim编辑器_第32张图片
:% s/user/NB/gi 将文本中所有的user替换成NB, 并且忽略user的大小写
运维笔记(六)强大的vim编辑器_第33张图片
分隔符可以是任何符号,只要你喜欢

5.vim使用技巧

临时设置行号

:set nu 设置行号
运维笔记(六)强大的vim编辑器_第34张图片
:set nonu 取消设置行号
运维笔记(六)强大的vim编辑器_第35张图片

永久配置行号

影响单个用户
在需要配置的家目录下创建 .vimrc 文件 并写入 set nu
运维笔记(六)强大的vim编辑器_第36张图片
运维笔记(六)强大的vim编辑器_第37张图片
影响全部用户 修改/etc/vimrc文件
运维笔记(六)强大的vim编辑器_第38张图片

同时打开多个文件

上下方式 :[root@localhost ~]# vim -o /bin/gettext.sh /etc/passwd运维笔记(六)强大的vim编辑器_第39张图片
左右方式 [root@localhost ~]# vim -O /bin/gettext.sh /etc/passwd
运维笔记(六)强大的vim编辑器_第40张图片
退出 : :qa
两个文件切换 :Ctrl + ww

对比文件

复制一份 /etc/passwd 到/root/test
运维笔记(六)强大的vim编辑器_第41张图片
修改一下 /root/test/passwd
运维笔记(六)强大的vim编辑器_第42张图片
对比: [root@localhost ~]# vimdiff /etc/passwd /root/test/passwd
运维笔记(六)强大的vim编辑器_第43张图片

6.其他问题

交换文件文件问题

当你打开一个文件后,又用另外一个终端打开该文件,或者上次非正常关闭vim时就会出现下图。不用担心,因为编辑文件,会产生一个交换文件,就是缓存文件,存储在内存中,保存后替换硬盘中的文件。
出现这种情况可以使用R打开上次编辑的状态,也可以E放弃交换文件重新编辑
运维笔记(六)强大的vim编辑器_第44张图片

乱码问题

在Windows中创建一个txt文件
运维笔记(六)强大的vim编辑器_第45张图片
上传到Linux中 使用rz命令 若没有 dnf 安装 lrzsz
运维笔记(六)强大的vim编辑器_第46张图片
运维笔记(六)强大的vim编辑器_第47张图片
打开后发现是乱码的
运维笔记(六)强大的vim编辑器_第48张图片
使用 iconv 命令 来做编码转换,下面是参数

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

例:[root@localhost ~]# iconv -f gb2312 -t utf-8 coder.txt -o coder2.txt
运维笔记(六)强大的vim编辑器_第49张图片

总结

模式之间切换时,退出当前模式用 Esc
最后送上一张图,vim的熟悉程度提高了,工作效率会提高。
运维笔记(六)强大的vim编辑器_第50张图片

你可能感兴趣的:(Linux)