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

【Linux】vim编辑器使用详解

目录

  • 一、vim编辑器简介
  • 二、 vim编辑器使用指南
    • 1.基本操作
      • 1.进入与退出
      • 2.模式切换
    • 2.命令模式
      • 1.移动光标
      • 2.选择文本(可视模式)
      • 3.删除文字
      • 4.复制粘贴
      • 5.替换
      • 6.撤销
      • 7.注释
      • 8.多文件窗口切换
    • 3.底行模式
      • 1.列出每行的行号
      • 2.跳转到某行
      • 3.查找字符
      • 4.保存文件
      • 5.在vim中打开其他文件(多文件)
      • 6.退出vim
  • 三、vim总结

一、vim编辑器简介

Vim(ViIMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。Vim的设计目标是提供一种高效的文本编辑方式,通过键盘快捷键和命令来执行大部分编辑任务,从而减少对鼠标的依赖。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hUdH0kkY-1721482389667)(https://i-blog.csdnimg.cn/direct/e8d558b400e64c15a12dddb3d073fbd9.png#pic_center)]

二、 vim编辑器使用指南

vim的使用操作有打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等。

1.基本操作

1.进入与退出

**进入:输入 vim 文件
退出:在命令模式下按 :wq(保存后退出)、q!(不保存强制退出) **

2.模式切换

vim编辑器有许多模式,我们主要使用三个:

命令模式(普通模式)、插入模式、底行模式

在进入vim时,我们默认是命令模式,要切换到[插入模式]才能够输入文字

命令 >>> 插入:按 i / o / a 其中一个小写单词进入插入模式

命令 >>> 底行:按冒号 : 进入底行模式

插入/底行 >>> 命令:按键盘左上角 ESC

按 i / o / a 其中一个小写单词进入插入模式,但每种进入的效果不同

按「i」:从光标当前位置开始输入文件;
按「a」:从目前光标所在位置的下一个位置开始输入文字;
按「o」:插入新的一行,从行首开始输入文字

命令模式可以随意切换到插入和底行模式,但是插入和底行之间切换需要先切换到命令模式下在进行切换
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iWscdr0Y-1721482389670)(https://i-blog.csdnimg.cn/direct/7b95d0edcb334167aa566db3ef58cfae.png)]

2.命令模式

1.移动光标

1.可以直接用键盘上的移动键来上下左右移动 也可以用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移

2.按「G」:移动到文章的最后

3.按「 $ 」:移动到光标所在行的“行尾”
4.按「^」:移动到光标所在行的“行首”

5.按「w」:光标跳到下个字的开头
6.按「e」:光标跳到下个字的字尾
7.按「b」:光标回到上个字的开头

8.按「#l」:光标移到该行的第#个位置,如:5l,56l

9.按[gg]:进入到文本开始
10.按[shift+g]:进入文本末端

11.按「ctrl」+「b」:屏幕往“后”移动一页
12.按「ctrl」+「f」:屏幕往“前”移动一页

13.按「ctrl」+「u」:屏幕往“后”移动半页
14.按「ctrl」+「d」:屏幕往“前”移动半页

15.按「#G」:「8G」,表示移动光标至文章的第8行行首
16.按「ctrl」+「g」列出光标所在行的行号

2.选择文本(可视模式)

Vim 不像某些其他编辑器那样直接支持使用鼠标或 Shift 键来选择文本。但是,你可以使用可视模式(Visual Mode)来选择文本。

进入可视字符模式:按 v。
进入可视行模式:按 V。这会选择整行,并允许你通过移动光标来选择多行。
进入可视块模式:按 Ctrl +v。这允许你选择文本块。 在可视模式下,你可以使用移动命令(如 h、j、k、l)来选择你想要的文本。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AC0u0pfj-1721482389671)(https://i-blog.csdnimg.cn/direct/24cab6bde1834ab79621e002b4c9301e.png)]
下面的复制粘贴,剪切,注释都可以用的到文本的选择,使操作更加方便

3.删除文字

单个字符:

「x」:每按一次,删除光标所在位置的一个字符
「#x」:例如,「6x」表示删除光标所在位置的“后面(包含自己在内)”6个字符
「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符
「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符

行:

*「dd」:删除光标所在行
「#dd」:从光标所在行开始删除#行

删除单词

dw:删除从光标位置到下一个单词开头的文本。
db:删除从光标位置到上一个单词开头的文本(包括空白字符)。
diw:删除光标所在的单词(不包括前后空白字符)。

自定义文本块删除

进入可视模式(v 进入字符模式,V 进入行模式,Ctrl + v 进入块模式)。
在可视模式下,你可以使用移动命令(如 h、j、k、l)来选择你想要的文本
选择你想要删除的文本块。
按 d 来删除选中的文本块。

4.复制粘贴

字符:

「yw」:将光标所在之处到字尾的字符复制到缓冲区中。 「#yw」:复制#个字到缓冲区

行:

「yy」:复制光标所在行到缓冲区。 「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

自定义文本复制:

进入可视字符模式:
按 v:进入可视行模式:
按 V:这会选择整行,并允许你通过移动光标来选择多行。 进入可视块模式:
按 Ctrl +v。这允许你选择文本块。
在可视模式下,你可以使用移动命令(如 h、j、k、l)来选择你想要的文本

粘贴:

「p」:将缓冲区内的字符贴到光标所在位置。

注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

5.替换

「r」:替换光标所在处的字符。
「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

6.撤销

撤销

「u」:如果误执行一个命令,可以马上按下「u」,回到上一个操作。按多次“u”可以执行多次回复。

撤销的撤销

「ctrl + r」: 撤销的恢复

7.注释

注释的操作与赋值粘贴类似
1.单行注释

可以选择在该行的前面加//

2.自定义区域注释

1:按ctrl v进入可视模式
2:用h,j,k,l选择注释区域
3:按 shift i(I)
4:输入 //
5:按ESC键

3.去注释

1:按ctrl v进入可视模式
2:用h,j,k,l选择去注释区域
3:按 d

8.多文件窗口切换

我们的输入光标在哪个文件,表明我们正处于拿个文件
ctrl ww: 在多文件窗口循环切换
ctrl w h/j/k/l 选择该方向的文件进行切换

3.底行模式

1.列出每行的行号

「set nu」: 输入「set nu」后,会在文件中的每一行前面列出行号。

2.跳转到某行

「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了

3.查找字符

向后:

「/关键字」: 先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 「n」会往后寻找到您要的关键字为止。

向前:

「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「n」会往前寻找到您要的关键字为止。

4.保存文件

「w」: 在冒号前输入字母「w」就可以将文件保存起来

5.在vim中打开其他文件(多文件)

vs 所要打开的文件名
在这里插入图片描述
在这里插入图片描述

6.退出vim

保存文件后退出

「q」:按「q」就是退出
「wq」:保存文件后退出

强制退出(不保存文件)

「q!」:强制离开vim

三、vim总结

Vim 的设计哲学是键盘优先,所以尽量使用键盘快捷键来完成操作,而不是鼠标。

随着你对 Vim 的熟悉,你会发现使用 Vim 的效率远远超过其他编辑器

愿我们都能玩转Vim

相关文章:

【Linux】vim编辑器使用详解

目录 一、vim编辑器简介二、 vim编辑器使用指南1.基本操作1.进入与退出2.模式切换 2.命令模式1.移动光标2.选择文本(可视模式)3.删除文字4.复制粘贴5.替换6.撤销7.注释8.多文件窗口切换 3.底行模式1.列出每行的行号2.跳转到某行3.查找字符4.保存文件5.在…...

手机怎么设置不同的ip地址

在数字化日益深入的今天,智能手机已成为我们生活、工作和学习中不可或缺的设备。然而,随着网络应用的广泛和深入,我们有时需要为手机设置不同的IP地址来满足特定需求。比如,避免网络限制、提高网络安全、或者进行网络测试等。本文…...

SpringBoot读取配置的6种方式

在SpringBoot应用开发中,配置文件是不可或缺的一部分。它们帮助我们管理应用的运行时参数,使得应用的部署和维护变得更加灵活。SpringBoot提供了多种方式来读取配置文件,每种方式都有其适用场景和优缺点。本文将介绍六种常用的SpringBoot读取…...

1.1 openCv -- 介绍

OpenCV(开放源代码计算机视觉库:http://opencv.org)是一个开源库,包含了数百种计算机视觉算法。本文件描述了所谓的OpenCV 2.x API,这是一个本质上基于C++的API,与基于C的OpenCV 1.x API(C API已被弃用,并且自从OpenCV 2.4版本起不再使用“C”编译器进行测试)相对。 …...

探索PostgreSQL的GUI工具:提升数据库管理效率

在当今快速发展的技术世界中,数据库管理是任何软件开发项目的核心部分。PostgreSQL,作为一款功能强大的开源关系型数据库管理系统,因其稳定性、可靠性和高度的可扩展性而广受开发者和数据库管理员的青睐。然而,尽管PostgreSQL自带…...

【从零开始实现stm32无刷电机FOC】【实践】【5/7 stm32 adc外设的高级用法】

目录 采样时刻触发采样同步采样 点击查看本文开源的完整FOC工程 本节介绍的adc外设高级用法用于电机电流控制。 从前面几节可知,电机力矩来自于转子的q轴受磁力,而磁场强度与电流成正比,也就是说电机力矩与q轴电流成正相关,控制了…...

springcloud接入seata管理分布式事务

下载安装包 链接: seata 配置seata-server 文件上传Linux解压 压缩包我放在/usr/local/seata中 tar -zxvf seata-server-2.0.0.tar.gz修改配置文件 设置nacos为注册和配置中心 进入文件夹 cd /usr/local/seata/seata/conf修改application.yml文件 ...... ...... cons…...

Android APP 音视频(02)MediaProjection录屏与MediaCodec编码

说明: 此MediaProjection 录屏和编码实操主要针对Android12.0系统。通过MediaProjection获取屏幕数据,将数据通过mediacodec编码输出H264码流(使用ffmpeg播放),存储到sd卡上。 1 MediaProjection录屏与编码简介 这里…...

java中log4j.properties配置文件浅析

Log4J的配置文件(Configuration File)就是用来设置记录器的级别、存放器和布局的,它可按keyvalue格式的设置或xml格式的设置信息。通过配置,可以创建出Log4J的运行环境。 1、配置文件 Log4J配置文件的基本格式如下: #配置根Logger log4j.roo…...

RV1126 Linux 系统,接外设,时好时坏(二)排查问题的常用命令

在 RV1126 Linux 系统中,排查外设连接问题时,可以使用多种命令来诊断和调试。以下是一些常用的命令和工具: 1. 查看系统日志 dmesg: 显示内核环形缓冲区的消息,通常包含设备初始化、驱动加载和错误等信息。 dmesg | grep <设备名或相关关键字>journalctl: 查看系统…...

鸿蒙北向开发 DevEco Studio 4.1 下载安装傻瓜式教程

开篇 由于鸿蒙处于快速发展中,鸿蒙的api快速迭代更新,老版本的DevEco studio无法支持更新版本的api,因此华为官网放弃了老版本的维护.直接从华为开发者官网无法下载老版本,当前华为开发者官网已经推出next版本了 DevEco studio3.1安装教程 上述教程提供的华为开发者官网地址已经…...

pglogical扩展的基本用法介绍

瀚高数据库 目录 环境 文档用途 详细信息 环境 系统平台&#xff1a;Linux x86-64 Red Hat Enterprise Linux 7 版本&#xff1a;14 文档用途 本文翻译了pglogical扩展的官方文档,介绍了pglogical扩展的各类管理函数及使用限制,详情请看下文. 一、节点管理 节点可以使用以下…...

2024年虚拟主机转移教程

转移网站并不困难&#xff0c;但选择正确的选项和最佳程序才是关键。网站托管服务被视为当今数字世界的基石&#xff0c;全球有18 亿个网站。网站所有者可以通过下载备份、将其上传到新服务器并指向域名来手动转移网站。他们还可以通过新网站托管商的助手请求来移动网站。对于初…...

Python 函数对象和函数调用

Python 函数对象和函数调用 在 Python 中&#xff0c;函数是第一类对象&#xff08;first-class objects&#xff09;。这意味着函数可以像其他对象&#xff08;如整数、字符串、列表等&#xff09;一样被传递、赋值和操作。理解函数对象和函数调用的区别是学习 Python 的关键…...

sql注入的专项练习 sqlilabs(含代码审计)

在做题之前先复习了数据库的增删改查&#xff0c;然后自己用本地的环境&#xff0c;在自己建的库里面进行了sql语句的测试&#xff0c;主要是回顾了一下sql注入联合注入查询的语句和sql注入的一般做题步骤。 1.获取当前数据库 2.获取数据库中的表 3.获取表中的字段名 一、sql…...

淄博网站建设贵不贵

淄博网站建设的价格因各种因素而异&#xff0c;它可能会根据您对网站的需求、功能和设计复杂性等方面的要求而有所不同。虽然淄博网站建设的费用可能因需求的不同而有所变化&#xff0c;但是无论如何&#xff0c;它通常是值得的投资。 首先&#xff0c;对于个人和小型企业来说&…...

【学习笔记】无人机系统(UAS)的连接、识别和跟踪(十)-无人机A2X服务

引言 3GPP TS 23.256 技术规范&#xff0c;主要定义了3GPP系统对无人机&#xff08;UAV&#xff09;的连接性、身份识别、跟踪及A2X&#xff08;Aircraft-to-Everything&#xff09;服务的支持。 3GPP TS 23.256 技术规范&#xff1a; 【免费】3GPPTS23.256技术报告-无人机系…...

基于迁移学习的手势分类模型训练

1、基本原理介绍 这里介绍的单指模型迁移。一般我们训练模型时&#xff0c;往往会自定义一个模型类&#xff0c;这个类中定义了神经网络的结构&#xff0c;训练时将数据集输入&#xff0c;从0开始训练&#xff1b;而迁移学习中&#xff08;单指模型迁移策略&#xff09;&#x…...

个性化音频生成GPT-SoVits部署使用和API调用

一、训练自己的音色模型步骤 1、准备好要训练的数据&#xff0c;放在Data文件夹中&#xff0c;按照文件模板中的结构进行存放数据 2、双击打开go-webui.bat文件&#xff0c;等待页面跳转 3、页面打开后&#xff0c;开始训练自己的模型 &#xff08;1&#xff09;、人声伴奏分…...

MFC列表框示例

本文仅供学习交流&#xff0c;严禁用于商业用途&#xff0c;如本文涉及侵权请及时联系本人将于及时删除 目录 1.示例内容 2.程序步骤 3.运行结果 4.代码全文 1.示例内容 编写一个对话框应用程序CMFC_Li6_4_学生信息Dlg&#xff0c;对话框中有一个列表框&#xff0c;当用户…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

ssc377d修改flash分区大小

1、flash的分区默认分配16M、 / # df -h Filesystem Size Used Available Use% Mounted on /dev/root 1.9M 1.9M 0 100% / /dev/mtdblock4 3.0M...

听写流程自动化实践,轻量级教育辅助

随着智能教育工具的发展&#xff0c;越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式&#xff0c;也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建&#xff0c;…...

10-Oracle 23 ai Vector Search 概述和参数

一、Oracle AI Vector Search 概述 企业和个人都在尝试各种AI&#xff0c;使用客户端或是内部自己搭建集成大模型的终端&#xff0c;加速与大型语言模型&#xff08;LLM&#xff09;的结合&#xff0c;同时使用检索增强生成&#xff08;Retrieval Augmented Generation &#…...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路&#xff1a; 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑&#xff1a;async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

计算机基础知识解析:从应用到架构的全面拆解

目录 前言 1、 计算机的应用领域&#xff1a;无处不在的数字助手 2、 计算机的进化史&#xff1a;从算盘到量子计算 3、计算机的分类&#xff1a;不止 “台式机和笔记本” 4、计算机的组件&#xff1a;硬件与软件的协同 4.1 硬件&#xff1a;五大核心部件 4.2 软件&#…...

PostgreSQL——环境搭建

一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在&#xff0…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析&#xff0c;分为​​已启动​​和​​未启动​​两种场景&#xff1a; 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​&#xff1a;当其他组件&#xff08;如Activity、Service&#xff09;通过ContentR…...

《Docker》架构

文章目录 架构模式单机架构应用数据分离架构应用服务器集群架构读写分离/主从分离架构冷热分离架构垂直分库架构微服务架构容器编排架构什么是容器&#xff0c;docker&#xff0c;镜像&#xff0c;k8s 架构模式 单机架构 单机架构其实就是应用服务器和单机服务器都部署在同一…...

《Offer来了:Java面试核心知识点精讲》大纲

文章目录 一、《Offer来了:Java面试核心知识点精讲》的典型大纲框架Java基础并发编程JVM原理数据库与缓存分布式架构系统设计二、《Offer来了:Java面试核心知识点精讲(原理篇)》技术文章大纲核心主题:Java基础原理与面试高频考点Java虚拟机(JVM)原理Java并发编程原理Jav…...