当前位置: 首页 > news >正文

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.lryc.cn/news/241015.html

相关文章:

  • mac添加Chrome插件的方法
  • 智能优化算法 | Matlab实现金豺优化算法(GJO)(内含完整源码)
  • 6、信息打点——Web架构篇语言中间件数据库系统源码获取
  • flutter vscode gradle 配置
  • tcp和 udp区别
  • 深度学习之基于Pytorch的昆虫分类识别系统
  • mysql字符串转为数字的三种方法、字符串转日期
  • 【科技素养】蓝桥杯STEMA 科技素养组模拟练习试卷5
  • PTA-6-45 工厂设计模式-运输工具
  • 重新使用hbase前
  • Web 自动化神器 TestCafe(二)—元素定位篇
  • DRF-通用分页器(PageNumberPagination):ListModelMixin可以使用的通用分页器
  • 移动机器人,开启智能柔性制造新篇章
  • 视频云存储EasyCVR平台国标接入获取通道设备未回复是什么原因?该如何解决?
  • 【Web题】狼追兔问题
  • 4-Docker命令之docker info
  • QT 中的元对象系统
  • 在两个java项目中实现Redis的发布订阅模式
  • 执行shell脚本提示syntax error: unexpected end of file
  • 信也科技发布2023年Q3财报:数字金融服务业务增长稳健,持续拉动实体消费
  • Springcloud可视化物联网智慧工地云SaaS平台源码 支持二开和私有化部署
  • 51单片机应用从零开始(七)·循环语句(if语句,swtich语句)
  • Web服务器(go net/http) 处理Get、Post请求
  • Unity中颜色空间Gamma与Linear
  • Word/PPT/PDF怎么免费转为JPG图片?
  • 使用docker命令_进入容器_登录mysql服务_并执行sql语句---Docker工作笔记005
  • PMP 考试的含金量怎么样?
  • 2023亚太杯数学建模A题思路代码分析
  • Qt实现自定义IP地址输入控件(百分百还原Windows 10网络地址输入框)
  • Linux下的C++ socket编程实例