RHCSA的学习(4)

一、vi编辑器

(1)为什么学vi?

  • 所有的Unix Like 系统都会内建 vi 文本编辑器,其他的文本编辑器则不一定会存在;
     
  • 很多个别软件的编辑接口都会主动呼叫 vi (例如未来会谈到的 crontab, visudo, edquota 等指令);
  • vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计;
  • 程序简单,编辑速度相当快速。

Vim的发布最早可以追溯到1991年,英文全称为:“Vi IMproved”,也就是对vi编辑器的提升版本,其中最大的改进当属对代码的着色功能,亦有些编程场景能够自动修正错误代码。

在Linux系统中一切都是文件,而配置一个服务就是在修改其配置文件的参数。在日常工作中大家也肯定免不了要编写文档,这些工作都是通过文本编辑器来完成的。Vim之所以能得到广大厂商与用户的认可,原因在于Vim编辑器中设置了三种模式:命令模式、末行模式编辑模式(插入模式),每种模式别又支持多种不同的命令快捷键,这大大提高了工作效率,而且用户在习惯之后也会觉得相当顺手。

(2)使用vi/vim编辑文件

#在每次运行Vim编辑器时,默认进入命令模式
[root@master ~]# vim /etc/passwd  也可以就输入一个 vim,也是默认进入命令模式
[root@master ~]# vim

1、vim三种模式的切换

特点区分(都是看最后一行底部):

  • 命令模式:没有任何信息或显示文件名和相关信息
  • 插入模式:最后一行显示  insert
  • 末行模式:最后一行显示  :

2、命令模式下的常用按键

(1)光标跳转按键

(2)复制、粘贴、删除

补充:

d + enter删除光标所在行以及光标下一行
删除光标所在字符
Ndd(例:3,5dd)删除光标行开始3-5行内容
dG删除光标所在行到文档尾
dgg删除光标所在行到文档首
s字符替换,替换光标所在字符
cc剪切光标所在行
ctrl  +   r 向右撤销

命令模式进入插入模式的方式

按esc键可从编辑模式切换到命令模式

命令模式进入插入模式的方式

按 : 或者 / 可从命令模式切换到末行模式。按esc键可从末行模式切换到命令模式。

3、末行模式

(1)查找关键字并替换

(2)保存退出

(3)其他操作

补充:

取消高亮显示:noh
跳转到第5行:5
将所有行的0字符替换出2: s/0/2/g

4、vim的拓展用法

(1)可视化模式

按Ctrl+v进入可视化模式
该模式下通过光标移动选择文本,选取后按 y 可以把文本提取到缓冲区(即复制),c 可以剪切。之后可以使用p在光标后粘贴,P粘贴在光标前

(2)多文档编辑

在打开一个文件的时候,输入 :sp /dir/file 可分屏显示另一个文件

光标在多个文件之间的切换按ctrl+w w

5、vim的配置文件

[root@master test]#vim /etc/vimrc
[root@master test]#vim ~/.vimrc
set hlsearch            "高亮度反白
set backspace=2      "可随时用退格键删除
set autoindent        "自动缩排
set tabstop=4        "缩进
set softtabstop=4   softtabstop是“逢4空格进1制表符”,前提是你tabstop=4
set shiftwidth=4     自动缩进空格长度
set mouse=a            "使用鼠标
set selection=exclusive
set selectmode=mouse,key
set ruler               "可显示最后一行的状态
set showmode            "左下角那一行的状态
set nu                  "可以在每一行的最前面显示行号啦!
set bg=dark             "显示不同的底色色调
syntax on               "进行语法检验,颜色显示

6、vim练习

(1)修改主机名

[root@localhost ~]# vim /etc/hostname

(2)设置登录欢迎语

[root@localhost ~]# vi /etc/motd
hello

(3)修改中断当前进程的快捷键

[root@localhost ~]# vi ~/.bashrc
stty intr "^b"
#中断当前进程的快捷键就会变成ctrl+b

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/55943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【笔记】Day2.4表设计说明

主键ID一般使用bigint类型 运送类型 使用比int更小的tinyint类型 eg:普快代表1 特快代表2(没写反) 关联城市 varchar 2代表京津冀 3代表江浙沪 4代表川渝 首重和续重都有小数点 故使用double 轻抛系数都为整数 故使用int 创建时间和修改…

【UI】将 naive ui 的 message 封装进axios 中,关于naiveui的message相关的用法

文章目录 前言在setup外进行使用直接包裹使用vue 单文件中使用 参考文章: 关于naiveui的message相关的用法 前言 最近新建了一个vite vu3 的项目,完全是从0 到1 ,封装到request 的时候 想对axios 请求做一个全局的处理,但发现…

jmeter学习(7)beanshell

beanshell preprocessor 发送请求前执行 beanshell postprocessor 发送请求前执行 获取请求相关信息 String body sampler.getArguments().getArgument(0).getValue(); String url sampler.getPath(); 获取响应报文 String responseprev.getResponseDataAsString(); 获…

实战OpenCV之视频处理

基础入门 视频是由一系列连续的图像帧组成的,这些帧按照一定的速率连续播放,从而形成动态画面。与视频相关的主要参数有:分辨率、帧率、码率、编解码器、帧类型、文件格式等,下面分别进行介绍。 1、帧率。表示每秒显示的图像帧数&…

【devops】x-ui 实现一键安装 x-ray 打造高速国际冲浪 | xray管理平台

一、部署X-UI篇 1、Github 地址&说明 github地址如下: https://github.com/FranzKafkaYu/x-ui?tabreadme-ov-file 2、一键部署 2.1、更新并安装curl #Ubuntu、Deibian系统 apt update && apt upgrade -y apt install curl -y #CentOS7 系统 yum…

强大的JVM监控工具

介绍 在生产环境中,经常会遇到各种各样奇葩的性能问题,所以掌握最基本的JVM命令行监控工具还是很有必要的 名称主要作用jps查看正在运行的Java进程jstack打印线程快照jmap导出堆内存映像文件jstat查看jvm统计信息jinfo实时查看和修改jvm配置参数jhat用…

现代身份和访问管理 IAM 如何降低风险

您的公司是否仍在使用 1998 年时的身份管理系统?仅凭用户名和密码就能登录本地网络并访问几乎所有资源吗? 虽然大多数企业已经转向现代身份和访问管理(IAM) 平台,但成千上万的企业和其他组织仍然依赖过时的用户名/密码系统。 如果你看一下传…

SpringBoot 整合 阿里云 OSS图片上传

一、OOS 简介 ‌阿里云OSS(Object Storage Service)是一种基于云存储的产品,适用于存储和管理各种类型的文件,包括图片、视频、文档等。‌ 阿里云OSS具有高可靠性、高可用性和低成本等优点,因此被广泛应用于各种场景&…

简单的网络爬虫爬取视频

示例代码爬取一个周杰伦相关视频 import requests# 自己想下载的视频链接 video_url https://vdept3.bdstatic.com/mda-qg8cnf4bw5x6bjs5/cae_h264/1720516251158906693/mda-qg8cnf4bw5x6bjs5.mp4?v_from_shkapp-haokan-hbf&auth_key1728497433-0-0-4a32e13f751e04754e4…

oracle-函数-instr()的妙用以及相似功能like

INSTR(C1,C2[,I[,J]]) 【功能】在一个字符串中搜索指定的字符,返回发现指定的字符的位置; 【说明】多字节符(汉字、全角符等),按1个字符计算 【参数】 C1 被搜索的字符串 C2 希望搜索的字符串 I 搜索的开始位置,默认为1 J 第J次出现的位置,默认为1 【…

算法修炼之路之位运算

目录 一:位运算符及一些常用结论总结 1.给一个数n,确定它的二进制表示中的第x位是0还是1(位数从右向左0开始增加) 2.将一个数n的二进制表示形式的第x位修改成1 3.将一个数n的二进制表示的第x位修改为0 4.提取一个数n的二进制表示中最右侧的1 5.干掉一个数n的…

单片机闪存,闪存缓冲取,闪存延迟

一、启用闪存预取缓冲区(FLASH_PrefetchBufferCmd (FLASH_PrefetchBuffer_Enable);) 闪存预取缓冲区的作用: 在微控制器中,闪存是用于存储程序代码和常量数据的非易失性存储器。当微控制器执行程序时,需要从闪存中读取…

kubernetes-强制删除命名空间

一、故障现象 1、删除命名空间卡住、强制删除也卡住 2、其他终端显示命名空间下无资源 二、处理步骤 1、kubectl get namespace cilium-test -o json > temp.json 获取你需要删除的命名空间json描述文件。 2、修改finalize字段 3、替换 kubectl replace --r…

OmniH2O——通用灵巧且可全身远程操作并学习的人形机器人(其前身H2O是HumanPlus的重要参考)

前言 由于我司一直在针对各个工厂、公司、客户特定的业务场景,做解决方案或定制开发,所以针对每一个场景,我们都会反复考虑用什么样的机器人做定制开发 于此,便不可避免的追踪国内外最前沿的机器人技术进展,本来准备…

信息安全工程师(42)VPN类型和实现技术

前言 VPN(Virtual Private Network,虚拟专用网络)是一种在公共网络上建立专用网络连接的技术。 一、VPN类型 VPN可以根据不同的分类标准划分为多种类型,主要包括以下几种: 按协议分类: PPTP(Poi…

创建osd加入集群

故障原因:ceph节点一个磁盘损坏,其中osd69 down了,需要更换磁盘并重新创建osd加入ceph集群。 信息采集: 更换磁盘前,查询osd69对应的盘符: 将对应的故障磁盘更换后,并重做raid,然后查…

超轻巧modbus调试助手使用说明

一、使用说明 1.1 数据格式 和其他的modbus采集工具一样,本组件也支持各种数据格式,其实就是高字节低字节的顺序。一般是2字节表示一个数据,后面又有4字节表示一个数据,目前好像还有8字节表示一个数据的设备。不同厂家的设备对应…

C++ | Leetcode C++题解之第457题环形数组是否存在循环

题目&#xff1a; 题解&#xff1a; class Solution { public:bool circularArrayLoop(vector<int>& nums) {int n nums.size();auto next [&](int cur) {return ((cur nums[cur]) % n n) % n; // 保证返回值在 [0,n) 中};for (int i 0; i < n; i) {if …

【论文速看】DL最新进展20241009-图像生成、多模态、医学扩散模型、行人重识别

目录 【图像生成】【多模态】【医学扩散模型】【行人重识别】 【图像生成】 [2024] CAR: Controllable Autoregressive Modeling for Visual Generation 论文链接&#xff1a;https://arxiv.org/pdf/2410.04671 代码链接&#xff1a;https://github.com/MiracleDance/CAR 可控…

torchvision.transforms.Resize()的用法

今天我在使用torchvision.transforms.Resize()的时候发现&#xff0c;一般Resize中放的是size或者是(size,size)这样的二元数。 这两个里面&#xff0c;torchvision.transforms.Resize((size,size))&#xff0c;大家都很清楚&#xff0c;会将图像的h和w大小都变成size。 但是…