vim文本编辑器,常用命令

目录

1、常用模式

2、基本移动光标

3、插入和替换文本

4、删除和复制文本

5、搜索和替换

6、保存和退出


Vim是一款功能强大的文本编辑器,在Linux系统中被广泛使用。它提供了丰富的编辑和操作功能,适用于编程、文件编辑、配置文件修改等各种任务。

下面是对Vim常用场景详解:

1、常用模式

        ①普通模式(Normal Mode):默认启动时进入的模式,用于浏览、编辑和移动光标。可以进行文本导航、删除、复制、粘贴等基本操作。 可以执行一些命令,如保存文件、退出编辑器等。

        ②插入模式(Insert Mode):通过按下 i 键或 a 键进入该模式,用于输入和编辑文本。可以直接输入文本内容,类似于普通的文本编辑器。

        ③可视模式(Visual Mode):通过按下 v 键进入可视模式,用于选择并操作一段文本区域。可以选择字符、行或块,并对所选区域执行操作。

        ④命令行模式(Command-Line Mode):通过按下 : 键进入命令行模式,用于执行各种命令。可以执行搜索、替换、保存文件、设置选项等高级操作。

2、基本移动光标

  • h、j、k、l:左、下、上、右移动光标
  • w、b:按单词前进或后退
  • gg、G:跳转到文件开头或结尾
  • ^、$:跳转到行首或行尾

3、插入和替换文本

  • i:在当前位置之前插入文本
  • a:在当前位置之后插入文本
  • o/O:在当前行之后/之前插入新行
  • r/R:替换单个字符/连续替换多个字符

4、删除和复制文本

  • 删除一个字符:将光标定位在要删除的字符上,按下 x 键。
  • 删除整行:将光标定位在要删除的行上,按下 dd 键。
  • 复制整行:将光标定位在要复制的行上,按下 yy 键。
  • 粘贴剪切板内容:将光标定位到目标位置,按下 p 键。

5、搜索和替换

  1. 搜索:

    • /keyword:向前搜索关键字。
    • ?keyword:向后搜索关键字。
    • 在上述命令后按下回车后,光标会跳转到第一个匹配的结果处。使用 n 键可以继续查找下一个匹配项。
  2. 替换:

    • :%s/old/new/g:全局替换所有匹配的内容。

      • %s 表示对整个文档进行替换操作。
      • old 是要被替换的内容。
      • new 是要替换成的新内容。
      • g 表示全局替换(即一行中多次出现的匹配都将被替换)。

6、保存和退出

  • 保存文件:在命令模式下输入 :w,然后按回车。
  • 退出编辑器:在命令模式下输入 :q,然后按回车。
  • 保存并退出:在命令模式下输入 :wq ,然后按回车。
  • 强制退出或强制保存退出:在相关命令后面加上叹号,即:q! 或 :wq!   。

自己创建一个文本文件,实践一下吧~

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

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

相关文章

linux创建文件并分配权限

linux中对文件的定义 在Linux中,文件是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。文件名是数据有序序列集合(文…

聚焦老年生活与健康,“老有所依·情暖夕阳”元岗街社区微型养老博览会顺利开展

尊老敬老是中华民族的传统美德, 爱老助老是全社会的共同责任。 家有一老,如有一宝, 长者的生活情况是一个家庭的头等大事, 做好长者服务是街道和社区的重要工作。 2024年1月6日,由元岗街道党工委、元岗街道办事处、…

开源C语言库Melon:红黑树

本文对Melon库中的红黑树进行介绍,关于Melon库,这是一个开源的C语言库,它具有:开箱即用、无第三方依赖、安装部署简单、中英文文档齐全等优势。 Github repo 简介 红黑树是一种被应用的非常广泛的数据结构,用于快速搜…

MySQL 8.0中新增的功能(五)

改进哈希连接性能 MySQL 8.0.23重新实现了用于哈希连接的哈希表,从而改进了哈希连接的性能。这项工作包括修复了一个问题(Bug#31516149,Bug#99933),在这个问题中,用于连接缓冲区&am…

PyQt5系列之核心模块与控件

一、模块介绍 1、QtCore:包含了核心的非GUI的功能。主要和时间、文件与文件夹、各种数据、流、URLs、mime类文件、进程与线程一起使用 2、QtGui:包含了窗口系统、事件处理、2D图像、基本绘画、字体和文字类 3、QtWidgets:包含了一些列创建桌面应用的UI元素 二、QtWidgets使用介…

真正的强大,原来是不动声色的

当一个人走过了绝境,他就会发现,真正的强大,原来是不动声色的。 他会停止一切自证,不再解释,话越来越少,眼神越来越坚定。 他不再模棱两可,唯唯诺诺,而是敢于断然拒绝,…

Veeam Backup12安装备份恢复ESXI7.0 U3虚拟机

介绍 只需单个平台即可保护并管理所有工作负载、应用及数据:云端、虚拟、物理、SaaS、Kubernetes、VMware、Hyper-V、Windows、Linux、UNIX、NAS、AWS、Azure、企业应用等。 个人主要用于备份ESXi上的虚拟机,可以实现单次完整备份,和定时的…

Vue3 的基本开发+新特性

Vue3 1.Vue3 1. Vue2 选项式 API vs Vue3 组合式API <script> export default {data(){return {count:0}},methods:{addCount(){this.count}} } </script> <script setup> import { ref } from vue const count ref(0) const addCount ()> count.val…

小H靶场笔记:Empire-Breakout

Empire&#xff1a;Breakout January 11, 2024 11:54 AM Tags&#xff1a;brainfuck编码&#xff1b;tar解压变更目录权限&#xff1b;Webmin&#xff1b;Usermin Owner&#xff1a;只惠摸鱼 信息收集 使用arp-scan和namp扫描C段存活主机&#xff0c;探测靶机ip&#xff1a;1…

作业--day45

定时播放 #include "mywidget.h" #include "ui_mywidget.h"MyWidget::MyWidget(QWidget *parent) :QWidget(parent),ui(new Ui::MyWidget) {ui->setupUi(this);ui->bg_lab->setPixmap(QPixmap(":/pictrue/shanChuan.jpg"));ui->bg_…

AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(六)

《诗小雅小旻》&#xff1a;“战战兢兢&#xff0c;如临深渊&#xff0c;如履薄冰。” 01.Nodejs安装与使用 什么是 Node.js&#xff1f; 什么是前端工程化&#xff1f; Node.js 为何能执行 JS&#xff1f; 查看当前使用的Node.js版本&#xff1a;node -v 执行JS&#xff1a;no…

Linux(Debina12)系统安装

在开发或学习中&#xff0c;linux系统是我们必须要熟悉的系统&#xff0c;那么今天就记录一下&#xff0c;较为稳定&#xff0c;也是小编这几年当做开发环境的发行版吧 官网地址 https://www.debian.org 下载链接 http://mirrors.163.com/debian-cd/12.4.0/amd64/iso-dvd/ …

先锋WEB燃气收费系统 Upload.aspx 文件上传漏洞复现

0x01 产品简介 先锋WEB燃气收费系统是一种先进的在线燃气收费解决方案,旨在简化和优化燃气收费的流程和管理。该系统基于Web平台,提供了一系列功能和工具,使燃气公司能够高效地进行收费、账单管理和客户服务。 0x02 漏洞概述 先锋WEB燃气收费系统/AjaxService/Upload.asp…

PHP版学校教务管理系统源码带文字安装教程

PHP版学校教务管理系统源码带文字安装教程 运行环境 服务器宝塔面板 PHP 7.0 Mysql 5.5及以上版本 Linux Centos7以上 系统介绍&#xff1a; 后台权限控制&#xff1a;支持多个管理员&#xff0c;学生管理&#xff0c;学生成绩&#xff0c;教师管理&#xff0c;文章管理&#x…

随机漫步【scatter的使用】

去掉scatter的坐标轴&#xff08;未成功版&#xff09; import matplotlib.pyplot as plt from random import choice class RandomWalk():def __init__(self,num_points 5000):self.num_points num_pointsself.x_values [0]self.y_values [0]def fill_walk(self):while l…

实现秒杀功能设计

页面 登录页面 登录成功后&#xff0c;跳转商品列表 商品列表页 加载商品信息 商品详情页 根据商品id查出商品信息返回VO&#xff08;包括rmiaoshaStatus、emainSeconds&#xff09;前端根据数据展示秒杀按钮&#xff0c;点击开始秒杀 订单详情页 秒杀页面设置 后端返回秒杀…

Pycharm close project 速度缓慢解决办法

解决Pycharm close project缓慢现象 1.问题描述 close project后需要等待很长的时间。 2.解决办法 在Help -> Find Action -> 输入 Registry -> 禁用ide.await.scope.completion 问题解决&#xff01;&#xff01;&#xff01; &#x1f603;&#x1f603;&#x…

LeetCode+ 56 - 60

合并区间 双指针算法、位运算、离散化、区间合并_小雪菜本菜的博客-CSDN博客 class Solution { public:vector<vector<int>> merge(vector<vector<int>>& a) {vector<vector<int>> res;if(a.empty()) return res;sort(a.begin(),a.en…

SSH密钥生成

ssh-keygen -t rsa -C "xxxxxxxxcom" cat ~/.ssh/id_rsa.pub

并发编程(九)

1、线程池的好处 第一&#xff1a;降低资源消耗。通过重复利用已创建的线程降低线程创建和销毁造成的消耗。 第二&#xff1a;提高响应速度。当任务到达时&#xff0c;任务可以不需要等到线程创建就能立即执行。 第三&#xff1a;提高线程的可管理性。线程是稀缺资源&#x…