vim的使用方法及相关按键

news2024/11/24 17:36:10

目录

一、安装vim

二、vim的使用

1.打开vim

2.vim的四种模式使用

(1)命令模式(快捷键的使用)

(2)编辑模式

(3)末行模式

(4)可视化模式


一、安装vim

一般情况下,Linux都已经默认安装好了vim编辑器,但有一些精简版的Linux操作系统是没有安装的,这就需要我们安装一下。当我们在终端中输入vim命令时,如果系统会提示"command not found",则表示未安装vim。我们只需要在命令行输入安装的命令即可:

  yum -install vim -y      

二、vim的使用

1.打开vim

在命令行中输入我们要使用vim进行编译文件的命令即可:

#vim+文件名

#例如  vim test.c    #使用vim对test.c文件进行编译

#若该文件已存在,就会直接打开该文件;若文件不存在,vim会自动创建该文件再打开

2.vim的四种模式使用

(1)命令模式(快捷键的使用)

当我们用vim打开文件后,就会直接进入到命令模式,在该模式下我们可以通过快捷键对文本内容进行一些操作,如:复制、粘贴、撤销、删除、注释和多行注释等操作。

复制和粘贴的操作:

行复制删除命令:

yy   #单行复制
n+yy  #多行复制
p    #粘贴

将光标移动到要进行复制行,然后按下两次y即可对改行进行复制;

在需要进行多行复制的第一行那里,先输入要复制的行数n,在按两次y,可以复制从当前行开始n-1行的内容;

然后在需要进行粘贴的那行按下p就能将最近所复制的内容进行粘贴。

任意复制粘贴:

n+yl       #从当前光标位置往后复制n个字符,包含光标位置
n+yh       #从当前光标位置,往前复制n个字符,不包含光标位置的

复制好后,按p键就能进行粘贴。

 撤回和反撤回:

命令:

u        #撤回操作
ctrl+r   #反撤回操作

 在编写文件时,如果使用命令或写错了什么时,可以通过 u 键进行撤回;如果不小心多撤回了一次,可以通过 ctrl+r 组合键撤销刚才的撤回操作。

删除操作

命令:

dd             #行删除,删除改行的内容
x              #只删除光标所在的位置的单个字符
n+x            #删除从光标位置起,往后n个字符

注释操作:

#1.常规注释,使用  //  进行注释

#2.命令注释  ctrl+v +hjkl +A +// +ESC键    #可以进行多行注释

 操作二解析:当我们需要进行多行注释时,将光标移动到要注释的内容的第一行,先按下ctrl+v 组合键,再通过 h j k l  键实现 左 下 上 右移动光标至要注释的末行,再按shift+a(也就是相当于打一个大写的A),再按两次 (就相当于是输入注释符 //),再按键盘上的 ESC键  就可以进行多行注释。

其他操作:

Shift+g       #光标定位到文件结尾位置
gg            #光标定位到文件开始位置
n+shift+g     #将光标定位到文件的n行
shift+4       #定位到一行的末尾
shift+6       #将光标定位到当前行的开始位置
w             #以单词为单位向后移动
b             #以单词为单位向前移动
hjkl          #分别表示左下上右移动
shift+~       #光标所在字符进行大小写切换
shift+r       #进入替换模式,将光标所在字符替换为键盘上输入的字符;(自我感觉作用:不用进入编辑模式就可以改数据)
nr            # 将光标所在位置的往后n个字符替换为键盘输入的字符

(2)编辑模式

当我们使用vim打开一个文件后,先是进入的命令模式,是无法直接进行编辑的,这时只需要按一下键盘上的 a 就可以进入到编辑模式,然后你也会注意到在最下边的末行哪里,原来的 NORMAL变成了INSERT。然后就可以编写内容了。

 编写完成后,要保存所写的内容,就可以用ctrl+c  返回到命令模式,然后再shift+:

 进入末行模式,输入 wq 就可以保存并退出vim了。

(3)末行模式

在命令模式下输入冒号:即可进入末行模式,可以在末行输入命令来对文件进行查找、替换、保存、退出等操作。

shift+冒号那个键   #进入末行模式,也就是想当于打一个冒号出来哪个意思

 保存和退出vim

在末行模式下输入以下命令就可以进行相应的操作

W    #保存文件内容
wq   #保存文件内容并退出
q    #退出vim,不保存文件
q!   #强制退出,不会报存文件,谨慎使用!!!

查找

在末行模式下输入 / (也可以在命令模式下直接输入/)然后再输入要查找的关键字。

如果在一个文件中,存在多个满足条件的结果,也可以通过Nn 进行上下切换(N代表上一个结果,n代表next)

被查找到的内容会以高亮的形式显现,如果需要取消高亮,则需要在末行模式中输入noh就可以取消高亮 

替换

在末行模式下输入如下指令,可进行相应的替换

s/被替换内容/新内容         #将光标所在行的新内容替换至被替换的内容,只能替换改行的第一个
s/被替换内容/新内容/g       #可以将该行的所以内容进行替换
%s/被替换内容/新内容        #进行全局替换,将每行中的第一个关键字进行替换
%s/被替换内容/新内容/g      #进行全局替换,将文件中的所有关键字进行替换

(4)可视化模式

在命令模式中,直接按ctrl + v(可视块)或V(可视行)或v(可视)就进入了可视化模式,在可视化模式中可以进行复制,和多行注释(上面已经讲过)。

进行复制操作,在可视化模式下,通过 hjkl 左下上右 进行选取内容,然后按y将所选取的内容复制下来,再按ESC键退出可视化模式,在命令模式下按p就可以将刚才复制的内容进行粘贴。

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

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

相关文章

022:vue中tree结构数据变成扁平化table结构数据的示例

第022个 查看专栏目录: VUE — element UI vue在使用element UI tree的时候,有的时候是要做逆向处理的,即将树形结构的数据转化为table结构的数据,即扁平化的json数据。 如何处理呢? 效果图 原始tree结构数据: let newdata= [ {

redis pipeline

redis 执行多条连续的命令的时候为了减少网络开销RTT,可以使用pipeline技术。 pipeline 与 原生批命令(mset, mget) 对比: 原生批命令是原子性,pipeline是非原子性 (原子性概念:一个事务是一个不可分割的最小工作单位,要么都成功要么都失败…

基于Anime2Sketch算法那将图片转成素描

1.下载源码地址 https://github.com/Mukosame/Anime2Sketch下载项目依赖包,下载模型权重文件 运行看效果 python test.py --datarootE:\01_hjz\datas\00-hjz\pictures --load_size512调整自定义测试图片路径 """Test script for anime-to-sketch…

基于Java+Vue前后端分离网上书城系统设计实现(源码+lw+部署文档+讲解等)

博主介绍:✌全网粉丝30W,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取源码联系🍅 👇🏻 精彩专…

ChatGPT+低代码,好用到飞起?

ChatGPT 凭借短短 2 个月,月活用户突破 1 亿,成为史上用户增长速度最快的消费级应用程序。ChatGPT 的爆火,在全球范围内掀起了一场关于 AI 技术革命的狂潮,AIGC 也迅速成为科技圈最火赛道。 更有国际咨询机构预测,203…

IIS安装配置和简单网站部署流程

IIS安装和网站配置 环境:win10 注意:这是在win10下部署iis,开发环境下部署,开发测试,非windows server IIS简介 Internet Information Services,简称IIS,是微软提供基于windows的互联网信息服务&#x…

微信小程序使用第三方组件wxParse加载富文本html

微信小程序使用第三方组件wxParse加载富文本html 微信小程序微信小程序加载富文本html微信小程序富文本第三方组件wxParsewxParse富文本html wxParse简介 wxParse 是一个微信小程序富文本解析组件,支持支持Html及markdown转wxml。 wxParse gitHub地址&#xff1…

亿发软件:玩具制造行业批发ERP系统解决方案,赋能传统制造商数字化

我国长期以来被公认为玩具制造大国,受益于其制造基础设施和成本优势。此外,可支配收入的增加和用户生活方式的改变增加了国内外对玩具的需求。然而,行业也面临着挑战和转型。随着数字技术的出现和用户偏好的变化,玩具ERP系统在确保…

TCP三次握手和自连接的条件和缺点

详解三次握手 为什么 SYN 段不携带数据却要消耗一个序列号呢? 记住: • 不占用序列号的段是不需要确认的,比如纯 ACK 包 • SYN 段需要对方的确认,需要占用一个序列号 • 凡是消耗序列号的 TCP 报文段,一定需要对端确认…

旅游宣传软文怎么写吸引人?纯干货

世界那么大,我想去看看,旅游是一种非常放松解压的方式,在旅行中放飞自我,在旅行中寻找自我,一个景点的客流量很大程度取决于其宣传效果,旅游宣传软文就是一种通过文字来吸引人们前往旅游目的地的宣传手段。…

嵌入式系统中详解 Modbus 通信协议(清晰易懂)

本文总结关于 Modbus 相关的知识,浅显易懂,旨在对 Modbus 有一个很直观的了解。如有错误,欢迎修改意见和建议。 什么是协议 在了解什么是Modbus之前,我们先来看下什么是协议。 协议是一个汉语词汇,读音为xi y&#…

Nftables栈溢出漏洞(CVE-2022-1015)复现

背景介绍 Nftables Nftables 是一个基于内核的包过滤框架,用于 Linux 操作系统中的网络安全和防火墙功能。nftables 的设计目标是提供一种更简单、更灵活和更高效的方式来管理网络数据包的流量。 钩子点(Hook Point) 钩子点的作用是拦截数…

Linux环境下配置安装RocketMQ

1.下载 官网下载:下载链接 根据需要下载自己需要的版本、本文使用下载的是:4.7.0版本 2.安装 创建目录,使用ftp工具上传下载的包到上面创建的目录下。 cd /usr/local mkdir rocketmq-all-4.7.0注意:rocketmq 需要 Linux 上安装JDK&…

7、卷积神经网络:基础部件+LeNet

1、图像卷积 1. 互相关运算 严格来说,卷积层是个错误的叫法,因为它所表达的运算其实是互相关运算(cross-correlation),而不是卷积运算。在卷积层中,输入张量和核张量通过(互相关运算)产生输出张量。 首先…

【运维工程师学习】安装ubuntu20.04并配置SSH

【运维工程师学习】安装ubuntu20.04 1、镜像获取2、创建虚拟机3、开始安装4、配置SSH(1) 查看本地ssh版本(2) 安装ssh(3) 查看ssh运行状态(4) 设置开机自动启动(5) 重启(6) 安装net-tools(7) 查看ip5、SSH连接 1、镜像获取 https://next.itellyou.cn/Original/#cbpProduct?ID…

pdf如何导出为图片?分享三个方法PDF转图片!

将PDF文件转换为图片是在许多场景下都非常有用的操作,不仅能够保留原始文档的内容,还方便在各种平台上共享和展示。在本文中,我们将介绍三种简便的方法,帮助您将PDF文件快速转换为图片格式。 方法一:使用记灵在线工具…

黑客是这样的炼成的

---黑客的态度 黑客们解决问题,建设事物,信仰自由和双向的帮助,人人为我, 我为人人。 要想被认为是一名黑客,你的行为必须显示出你已经具备了这种态度。要想做的好象你具备这种态度,你就不得不真的具备这种态度。但…

物理人机交互Physical human-robot interaction (pHRI)

物理人机交互是指人与机器之间通过物理接触或力传递进行交互的过程。它可以通过各种感知和操控技术实现,包括传感器、执行器、机器人和人体接口等。这种交互方式可以在多个领域和应用中发挥重要作用,例如机器人操作、虚拟现实、协作机器人和康复医疗等。 在物理人机交互中,…

Neo4J 特性CQL语句,函数,Springboot集成

Neo4J Neo4J Neo4J一、Neo4J相关介绍1.为什么需要图数据库方案1:Google方案2:Facebook 2.特性和优势3.什么是Neo4j4.Neo4j数据模型图论基础属性图模型Neo4j的构建元素 5.软件安装 二、CQL语句1.CQL简介2.CREATE 命令3.MATCH 命令4.RETURN 子句5.MATCH和R…

node版本管理工具nvm手册

文章目录 下载使用命令node.js其他版本下载下载exe版解压改名放入到指定位置 下载 github下载 使用命令 查看当前版本 nvm -v 查看被管理的node nvm list 切换node版本 nvm use 14.21.3 node.js其他版本下载 下载链接 下载exe版 解压改名放入到指定位置