Linux vim操作教程(vim 基操、vim替换和查找、 vim改变文本颜色、判断和循环语句)

vim 基操

vim 是一个强大的文本编辑器,常用于在终端环境下编辑文件。下面是一些常用的 vim 操作:

  1. 打开文件:在终端中输入 vim 文件名 来打开一个文件,如果文件不存在,则会创建一个新文件。

  2. 模式切换:

    • 按下 i 进入插入模式,在该模式下可以输入和编辑文本。
    • 按下 Esc 键返回命令模式。
    • 在命令模式下输入 : 进入底行命令模式。
  3. 保存和退出:

    • 在命令模式下输入 :w 可以保存文件。
    • 输入 :q 可以退出 vim。
    • 输入 :wq 可以保存并退出。
  4. 光标移动:

    • 使用方向键或 hjkl 键进行上下左右移动。
    • 使用 G 跳转到文件末尾,使用 gg 跳转到文件开头。
    • 输入行号 + G 可以跳转到特定行。
  5. 剪切、复制和粘贴:

    • 在命令模式下移动光标到要操作的位置,输入 dd 可以剪切当前行。
    • 输入 yy 可以复制当前行。
    • 输入 p 可以在光标后粘贴剪切或复制的内容。
  6. 撤销和重做:

    • 在命令模式下输入 u 可以撤销上一步操作。
    • 输入 Ctrl + r 可以重做被撤销的操作。

vim替换和查找?

在 Vim 中,你可以使用替换和查找功能来编辑和定位文本。下面是一些与替换和查找相关的常用操作:

  1. 查找文本:

    • 在命令模式下,输入 / 后跟要查找的文本,然后按下回车键。Vim 将会定位到第一个匹配项,并将其突出显示。
    • 按下 n 键可以跳转到下一个匹配项,按下 N 键可以跳转到上一个匹配项。
  2. 替换文本:

    • 在命令模式下,输入 :%s/要替换的文本/新文本/g 可以替换整个文件中的所有匹配项。将 “要替换的文本” 替换为要查找并替换的文本,将 “新文本” 替换为替换后的文本。
    • 如果只想替换当前行的第一个匹配项,可以在命令模式下输入 :s/要替换的文本/新文本/
    • 如果只想替换当前行的所有匹配项,可以在命令模式下输入 :s/要替换的文本/新文本/g
  3. 使用替换确认:

    • 在替换命令后加上 c 标志,可以在替换之前进行确认。例如,:s/要替换的文本/新文本/gc 将会在替换每个匹配项之前提示确认。
  4. 使用正则表达式:

    • 在查找和替换中,你可以使用正则表达式来进行更灵活的匹配和替换。例如,:s/pattern/substitute/g 可以将匹配到的 “pattern” 替换为 “substitute”。
    • 例如,使用 \d 表示数字,\w 表示单词字符等。

vim如何改变文本颜色

改变文本颜色可以使用 ANSI 转义序列来实现。ANSI 转义序列是一些特殊的字符组合,用于控制终端的文本样式和颜色。
记得在脚本文件中添加

# define ANSI

在shell中,你可以使用\033(也可以写作\e)来改变文本的颜色。\033是ANSI转义序列的起始部分,用于控制终端的文本样式和颜色。

下面是使用\033来改变shell中文本颜色的示例:

#!/bin/bash# 改变前景(文本)颜色为红色
echo -e "\033[31mThis is red text\033[0m"# 改变背景颜色为蓝色,文本颜色为黄色
echo -e "\033[44;33mBlue background with yellow text\033[0m"# 改变文本样式为粗体
echo -e "\033[1mBold text

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

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

相关文章

python单例模式

单例模式是一种创建型设计模式,它保证一个类仅有一个实例,并提供一个全局访问点。 在 Python 中,可以使用以下几种方式来创建单例模式: 使用 __new__ 方法 在 Python 中, __new__ 方法是一个类方法,它在…

msvcp120.dll丢失是什么意思,哪个修复方法最简单

在计算机使用过程中,我们经常会遇到一些错误提示,其中之一就是“找不到msvcp120.dll”。这个错误通常发生在运行某些程序或游戏时,它会导致程序无法正常启动或运行。那么,这个错误提示到底是什么意思呢?为了解决这个问…

深入了解Java8新特性-日期时间API_LocalDate类

阅读建议 嗨,伙计!刷到这篇文章咱们就是有缘人,在阅读这篇文章前我有一些建议: 本篇文章大概12000多字,预计阅读时间长需要10分钟。本篇文章的实战性、理论性较强,是一篇质量分数较高的技术干货文章&…

【iOS】数据持久化(一)之Plist文件、Preference(NSUserDefaults类)

目录 什么是Plist文件?plist可以存储哪些数据类型plist文件数据的读取与存储 Perference(NSUserDefaults)使用方法registerDefaults: 方法的使用 什么是Plist文件? Plist文件(属性列表)是将某些特定的类&a…

python运行hhblits二进制命令的包装器类

hhblits 是 HMM-HMM(Hidden Markov Model to Hidden Markov Model)比对方法的一部分,也是 HMMER 软件套件中的工具之一。与 hhsearch 类似,hhblits 也用于进行高效的蛋白质序列比对,特别擅长于检测远缘同源性。 hh-su…

筑牢思想防线——建行驻江门市分行纪检组举办2023年清廉合规大讲堂

为推动廉洁教育打通“最后一公里”,近日,建行驻江门市分行纪检组举办江门市分行2023年清廉合规大讲堂。 本次大讲堂检察官结合一线办案经历,从防范化解金融风险、预防金融从业人员犯罪等方面对全辖员工进行了深入浅出地的讲解,引导…

代码随想录算法训练营第五十二天|1143.最长公共子序列 1035.不相交的线 53. 最大子序和

文档讲解:代码随想录 视频讲解:代码随想录B站账号 状态:看了视频题解和文章解析后做出来了 1143.最长公共子序列 class Solution:def longestCommonSubsequence(self, text1: str, text2: str) -> int:dp [[0] * (len(text2) 1) for _ i…

C++——stack和queue

目录 stack的介绍和使用 stack的使用 queue的介绍和使用 queue的使用 容器适配器 deque的介绍 deque的缺陷 priority_queue的介绍和使用 priority_queue的使用 仿函数 反向迭代器 stack的介绍和使用 在原来的数据结构中已经介绍过什么是栈了,再来回顾一下…

视频监控平台EasyCVR+智能分析网关+物联网,联合打造智能环卫监控系统

一、背景介绍 城市作为人们生活的载体,有着有无数楼宇和四通八达的街道,这些建筑的整洁与卫生的背后,是无数环卫工作人员的努力。环卫工人通过清理垃圾、打扫街道、清洗公共设施等工作,保持城市的整洁和卫生,防止垃圾…

【机器学习 | 白噪声检验】检验模型学习成果 检验平稳性最佳实践,确定不来看看?

🤵‍♂️ 个人主页: AI_magician 📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。 👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!&…

C++ Day09 容器

C-STL01- 容器 引入 我们想存储多个学员的信息 , 现在学员数量不定 通过以前学习的知识 , 我们可以创建一个数组存储学员的信息 但是这个数组大小是多少呢 ? 过大会导致空间浪费 , 小了又需要扩容 对其中的数据进行操作也较为复杂 每次删除数据后还要对其进行回收等操作…

cookie的跨站策略 跨站和跨域

借鉴:Cookie Samesite简析 - 知乎 (zhihu.com) 1、跨站指 协议、域名、端口号都必须一致 2、跨站 顶级域名二级域名 相同就行。cookie遵循的是跨站策略

PowerDesigner异构数据库转换

主要流程:sql->pdm->cdm->other pdm->sql 1.根据sql生成pdm 2.根据pdm生成cdm 3.生成其他类型数据库pdm

【Java】认识String类

文章目录 一、String类的重要性二、String类中的常用方法1.字符串构造2.String对象的比较3.字符串查找4.转换5.字符串替换6.字符串拆分7.字符串截取8.其他操作方法9.字符串的不可变性10.字符串修改 三、StringBuilder和StringBuffer 一、String类的重要性 在C语言中已经涉及到…

C语言第二十五弹--打印菱形

C语言打印菱形 思路&#xff1a;想要打印一个菱形&#xff0c;可以分为上下两部分&#xff0c;通过观察可以发现上半部分星号的规律是 1 3 5 7故理解为 2对应行数 1 &#xff0c;空格是4 3 2 1故理解为 行数-对应行数-1。 上半部分代码如下 for (int i 0;i < line;i){//上…

Vivado Modelsim联合进行UVM仿真指南

打开Vivado&#xff0c;打开对应工程&#xff0c;点击左侧Flow Navigator-->PROJECT MANAGER-->Settings&#xff0c;打开设置面板。点击Project Settings-->Simulation选项卡&#xff0c;如下图所示。 将Target simulator设为Modelsim Simulator。 在下方的Compil…

OpenGL 绘制圆形平面(Qt)

文章目录 一、简介二、代码实现三、实现效果一、简介 这里使用一种简单的思路来生成一个圆形平面: 首先,我们需要生成一个单位圆,半径为1,法向量为(0, 0, 1),这一步我们可以使用一些函数生成圆形点集。之后,指定面片的索引生成一个圆形平面。当然这里为了后续管理起来方便…

Py之PyMuPDF:PyMuPDF的简介、安装、使用方法之详细攻略

Py之PyMuPDF&#xff1a;PyMuPDF的简介、安装、使用方法之详细攻略 目录 PyMuPDF的简介 PyMuPDF的安装 PyMuPDF的使用方法 1、基础用法 PyMuPDF的简介 PyMuPDF是一个高性能的Python库&#xff0c;用于PDF(和其他)文档的数据提取&#xff0c;分析&#xff0c;转换和操作。 …

Matrix

Matrix 如下是四种变换对应的控制参数&#xff1a; Rect 常用的一个“绘画相关的工具类”&#xff0c;常用来描述长方形/正方形&#xff0c;他只有4个属性&#xff1a; public int left; public int top; public int right; public int bottom; 这4个属性描述着这一个“方块…

基于JavaWeb+SSM+Vue校园水电费管理小程序系统的设计和实现

基于JavaWebSSMVue校园水电费管理小程序系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 摘 要 III Abstract 1 1 系统概述 2 1.1 概述 2 1.2课题意义 3 1.3 主要内容 3…