本文为循序渐进学运维系列的基础篇,文章已收录gitee.
在Gitee上,点击直达
有运维技术的全部技术栈和文档,免费学习。 打造运维行业最全的知识体系,欢迎star

文章目录

  • 前言
  • 输入模式
    • 1) 插入方式
  • 命令行模式
    • 1. 光标定位类:
    • 2. 正则匹配类:
    • 3. 文本编辑类:
    • 4. 可视化类操作
  • 末行模式操作:
    • 1. 保存退出命令
    • 2. 调用外部命令
    • 3. 文本替换(难点也是重点)
  • 4. 自定义 vim使用环境

前言

vim号称编辑器之神,很多人都经历了从入门到放弃的痛苦过程。如今使用vim已有10年,vim极高的提高了我的工作效率,而且在使用的过程中总能不经意间发现一些使用技巧,仿佛突然掉到山洞里,捡到了一本绝世武功秘籍一样。

一般我们使用的centos或者其他的Linux操作系统都已经默认装了vim。可以直接查看是否已经安装。

[root@zmgaosh ~]# rpm -qf which vim
vim-enhanced-7.4.629-6.el7.x86_64

vim 编辑器有三种工作模式: 命令模式,输入模式,末行模式

记住几个点:

首次进入文件 是命令模式

出现 “insert" 是编辑模式

输入:(左下角) 是 命令行模式

我们先来看输入模式:

输入模式

进入编辑模式的方法: a i o A I O(任意一个字母都可以切换到编辑模式)


这里做一下说明:(见表格)

1) 插入方式

结果
i 当前字符之前插入 (光标前)
I 行首插入
a 当前之后插入(光标后)
A 行尾插入(行尾)
o 下一行插入 (另起一行)
O 上一行插入(上一行插入)

注意: 按下这些字母不是为了输入某个字符,而是为了切换到插入模式。按ESC可以返回到命令模式,为了确保能够真的返回,有时候需要按两次esc

命令行模式

在命令行模式下能够进行的操作:

1. 光标定位类:

h: 左
j: 下
k: 上
l: 右
数字0 和home键表示切换到行首
$和end键表示切换到行尾
gg 表示快速定位到文档的首行,
G: 定位到末行
3gg或者3G表示快速定位到第3行

2. 正则匹配类:

/string(字符串) 找到你要找的单词或者内容, 如果同样的内容很多,可以使用N/n来向上或者向下查找。
/^d 查找以什么开头的内容, 此处是查找以d开头的内容
/t$ 查找以t结尾的内容

技巧: 如果想打开文件后光标直接到文件的最后一行,可以使用+
比如我们要打开/etc/passwd ,打开后让光标在最后一行

vim + /etc/passwd

3. 文本编辑类:

复制,粘贴,删除,撤销

按键 作用
y 复制
yy 复制整行
y$ 从光标所在位置复制到行尾
y^ 从光标所在位置复制到行首
dd 删除/剪切
3dd 删除3行
d0 删除到行首
d$ 删除到行尾
p 粘贴
x 删除光标所在位置的字符
D 从光标处删除到行尾
u 撤销删除
ctrl+r 还原撤销过的操作
r 替换

4. 可视化类操作

V: 进入可视化模式
R: 擦除,改写,进入替换模式

举个例子:

给多行加#
CTRL+V --选中要加#的行 – 输入大写的I —在第一行加#–按两下esc

末行模式操作:

1. 保存退出命令

键盘输入 作用
:w 保存
:w! 强制保存
:q 不做任何修改直接退出
:q! 不做任何修改强制退出
:wq 保存并退出
:wq! 强制保存退出
:x 保存退出
ZZ 保存退出

2. 调用外部命令

:! +命令

比如要查看当前的ip

:r 读取文件并追加到文档中

3. 文本替换(难点也是重点)

格式 : 范围(其中%所有内容) s分隔符 旧的内容 分隔符 新的内容 (分隔符可以自定义)

举个例子:

:1,3 s/bin/gaosh 替换第1到3行中出现的第一个bin进行替换为gaosh
:1,3 s/bin/gaosh/g 替换第1到3行中查找到所有的bin进行替换为gaosh
:3 s/bin/aaaaa #只把第3行中内容替换了

:% s/do/gaosh/g 将文本中所有的do替换成gaosh
:% s/do/gaosh/gi 将文本中所有的do替换成gaosh, 并且忽略do的大小写
:% s@a@b@g 将文本中所有的a替换成b

4. 自定义 vim使用环境

命令 作用
:set nu 设置行号
:set ic 不区分大小写
:set list 显示控制 字符
:set nonu 取消设置行业
:set ai 自动缩进
:noh 取消高亮显示
:set all 查看所有可以配置的参数

####后记:

本文已收录到gitee,在gitee上汇总了运维学习的整个技术栈,欢迎star, 后期会持续更新。

vim从入门到放弃-绝密版相关推荐

  1. vim:vim从入门到放弃

    vim从入门到放弃 2016年11月02日 20:00:51 阅读数:34404 https://blog.csdn.net/sumword_/article/details/53011463 vim ...

  2. python嵩天第二版第五章_如何避免从入门到放弃——python小组学习复盘

    2019年春节python学习行动复盘2019-02-09 为了主攻python,没有参加心理学晨读.对心理学也不敢兴趣,怕耽误学习python的时间. 那么没学习心理学的情况下,python学的怎么 ...

  3. python从入门到放弃系列恶搞短片-太惨!学Python方法用错,直接从入门到放弃!...

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

  4. 钓鱼邮件从入门到放弃

    目录 钓鱼邮件从入门到放弃 一.钓鱼邮件的基本概念 1.1 钓鱼邮件的伪造方式 1.1.1 购买域名搭建邮箱服务器 1.1.2 伪造发件人 1.2 三个邮件安全协议 1.2.1 SPF 1.2.2 D ...

  5. vim从入门到丝滑学习笔记

    vim学习笔记 入门 vim模式:(界面左下角有显示) api帮助文档 Ctrl+S造成vim假卡死 基本指令 operator操作符 motion动作 移动 水平移动(行内) 垂直移动(行间) 编辑 ...

  6. CUDA编程 | Pytorch-CUDA从入门到放弃

    作者 | 日知  编辑 | 汽车人 原文链接: https://zhuanlan.zhihu.com/p/46991210 https://zhuanlan.zhihu.com/p/48463543 ...

  7. python快速编辑入门答案_太惨!学Python方法用错,直接从入门到放弃!

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

  8. python程序运行按什么键_太惨!学Python方法用错,直接从入门到放弃!

    原标题:太惨!学Python方法用错,直接从入门到放弃! 从你开始学习编程的那一刻起,就注定了以后所要走的路-从编程学习者开始,依次经历实习生.程序员.软件工程师.架构师.CTO等职位的磨砺:当你站在 ...

  9. CYQ.Data 从入门到放弃ORM系列:开篇:自动化框架编程思维

    前言: 随着CYQ.Data 开始回归免费使用之后,发现用户的情绪越来越激动,为了保持这持续的激动性,让我有了开源的念头. 同时,由于框架经过这5-6年来的不断演进,以前发的早期教程已经太落后了,包括 ...

最新文章

  1. CSS 单行溢出文本只显示部分内容
  2. ICML 2020 | 小样本学习首次引入领域迁移技术,屡获新SOTA结果
  3. 浅析企业网站页面设计如何才能更吸引用户注意!
  4. 085_html5服务器发送事件
  5. 前端学习(2617):删除品牌
  6. Maven的学习资料收集--(九) 构建SSH项目以及专栏maven
  7. Gallery:收集一些用于展示一组图片的javascript控件
  8. 【答阿里寒冬面试题】呵呵,大神的面试题就是好!
  9. 深度学习——最优化的学习笔记
  10. mysql 5.7 无法启动 服务没有报告任何错误
  11. 中文NER的正确打开方式: 词汇增强方法总结 (从Lattice LSTM到FLAT)
  12. JavaWeb框架梳理
  13. [WebKit] JavaScriptCore解析--基础篇(二)解释器基础与JSC核心组件
  14. 计算机课word反思,教学反思Word文档
  15. JavaScript replace 强行保留后三位小数点
  16. Install Debian (Etch/testing) in a USB stick 在U 盘中安装 Debian(Etch/testing)(
  17. mysql进阶(十九)SQL语句如何精准查找某一时间段的数据
  18. LSTM -长短期记忆网络(RNN循环神经网络)
  19. 百度地图API的基础使用
  20. 第四章 输入输出设备

热门文章

  1. 初级计算机处理员试题及答案,计算机速记员初级改错题及答案汇总
  2. 解决 The connected J-Link is defective
  3. 服务器是多用户服务的计算机,Windows2008服务器创建多个远程登录用户的方法,添加新用户...
  4. 从相机空间到屏幕投影,期间发生了什么
  5. 【DBN分类】基于粒子群算法优化深度置信网络PSO-DBN实现数据分类附matlab代码
  6. 小学奥数思维训练题(五)
  7. joyui版本和android版本,基于安卓10深度定制,黑鲨2海外版获得JOYUI11推送
  8. 整数的取值范围及依据;二进制码中负数如何表示?
  9. vue+springboot后台管理系统架子
  10. tinymce限制字数