vim的使用介绍以及命令大全(系统性学习day3)

news2025/7/16 7:11:31

                                                                                   懒羊羊感谢大家的关注和三连支持~ 

目录

前言

一、vim的使用介绍

二、命令大全

1.命令模式

(1)复制(配合粘贴命令p使用)

(2)剪切

(3)粘贴

(4)删除

(5)撤销/恢复

 (6)编辑命令的快捷键 

2.底行模式(:xxx命令)

(1)保存/退出文件操作

(2)查找 

(3)替换

(4)行号显示

(5)文件切换

(6) 分割窗口(多文件编辑时很高效)

3.编辑模式

总结


前言

Vim(Vi IMproved)是一个功能强大的文本编辑器,被认为是 Vi 编辑器的改进版本。它是在 Unix 系统上最受欢迎的文本编辑器之一,并且也可以在其他操作系统上使用。


一、vim的使用介绍

vim编辑器有三种模式:

1.命令模式

2.编辑模式

3.底行模式

切换模式的方法:

(1)命令模式下,按下a、i、o、A等键,可以计入编辑模式
(2)编辑模式下,按下esc,便可以回到命令模式
(3)命令模式下,输入:后,进入底行模式
(4)底行模式下,按esc或者删除:和它后面的命令,就可以回到命令模式。

二、命令大全

1.命令模式

(1)复制(配合粘贴命令p使用)

快捷键功能
yy复制光标所在行的内容
y复制鼠标已选中的内容
n(数字)+yy复制光标所在行,n代表行数,可复制光标所在行及以下行的多行内容
yw复制光标位置的单词

(2)剪切

快捷键功能
dd剪切光标所在行
n(数字)+dd光标所在行为准(包含当前行),向下剪切指定行数
D剪切光标所在行

(3)粘贴

快捷键功能描述
p将剪贴板中的内容粘贴到光标后
P(大写)将剪贴板中的内容粘贴到光标前

(4)删除

快捷键功能
x  删除光标所在位置的字符
X(大写删除光标前一个字符
dd删除光标所在行,删除之后,下一行上移
D删除光标位置到行尾的内容,删除之后,下一行不上移
ndd删除当前行(包括此行)后 n 行文本
dw移动光标到单词的开头以删除该单词
dG删除光标所在行一直到文件末尾的所有内容
:a1,a2d(底行模式删除从 a1 行到 a2 行的文本内容

(5)撤销/恢复

快捷键功能
u撤销
ctrl+r恢复
U(大写)撤销所有编辑

 (6)编辑命令的快捷键 

快捷键功能
↑或ctr + p上一条命令
↓或ctr + n下一条命令
ctr + b移动到命令行开头
ctr + e移动到命令行结尾
ctr + ←向左一个单词
ctr + →向右一个单词

2.底行模式(:xxx命令)

(1)保存/退出文件操作

命令功能
:q不保存就退出 Vim 编辑器
:q!不保存,且强制退出 Vim 编辑器
:w保存但是不退出 Vim 编辑器
:w!强制保存文本
:x保存文本,并退出 Vim 编辑器
:wq 保存并退出 Vim 编辑器
:wq!保存并强制退出 Vim 编辑器
ZZ直接退出 Vim 编辑器

(2)查找 

快捷键功能
/abc从光标所在位置向前查找字符串 abc
/^abc查找以 abc 为行首的行
/abc$查找以 abc 为行尾的行
?abc从光标所在位置向后查找字符串 abc

(3)替换

快捷键 功能
:s/a1/a2替换当前光标所在行第一处符合条件的内容
:s/a1/a2/g替换当前光标所在行所有的 a1 都用 a2 替换
:%s/a1/a2替换所有行中,第一处符合条件的内容
:%s/a1/a2/g替换所有行中,所有符合条件的内容
:n1,n2 s/a1/a2将文件中 n1 到 n2 行中第一处 a1 都用 a2 替换
:n1,n2 s/a1/a2/g将文件中 n1 到 n2 行中所有 a1 都用 a2 替换

(4)行号显示

  1. 行号显示 : :set nu
  2. 取消行号显示: :set nonu

(5)文件切换

快捷键功能
:files查看当前已经打开的所有文件
:open +  文件名切换到指定文件
:bp切换到上一个文(back previous)
:bn切换到下一个文件(back next)

(6) 分割窗口(多文件编辑时很高效

分割窗口快捷键:  :vs +文件名

注意:分割窗口可以同时查看和编辑多个文件,互相之间不会影响

3.编辑模式

快捷键功能
 在当前光标所在位置插入,光标后的文本相应向右移动
在光标所在行的行首插入,行首是该行的第一个非空白字符,相当于光标移动到行首执行 i 命令
在光标所在行的下插入新的一行。光标停在空行首,等待输入文本
O(大写在光标所在行的上插入新的一行。光标停在空行的行首,等待输入文本
a在当前光标所在位置之后插入
A在光标所在行的行尾插入,相当于光标移动到行尾再执行 a 命令
esc键退出编辑模式回到命令模式


总结

      本篇文章详细地讲了关于vim的使用介绍以及命令大全和许多快捷键的使用和分析,希望能够帮到大家!

      以后还会给大家展现更多关于Ubantu的其他重要的基础知识,感谢大家支持懒大王!

      希望这篇博客能给各位朋友们带来帮助,最后懒大王请来过的朋友们留下你们宝贵的三连以及关注,感谢你们!
 

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

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

相关文章

IDM激活

激活脚本原地址 github搜索:IDM-Activation-Script 或者直接点我进入 如何激活? 下载IDM 官网链接:Internet Download Manager: The fastest download accelerator 然后安装 安装成功后进入powershell win x 执行命令 iwr -useb https:/…

企业蓄电池怎么实时监测?这个方法最简单使用!

在这个数字时代,企业对电力的依赖性愈发显著,这使得电池系统成为维持业务连续性的不可或缺的一环。 蓄电池监控不仅有助于实时跟踪电池系统的性能和状态,还有助于预测问题,提前采取措施以防止电力中断。它还可以帮助企业降低能源成…

2023年9月21日,历史上的今天大事件早读

​公元前19年9月21日古罗马诗人维吉尔逝世 1069年9月21日宋神宗采用王安石新法,开始实行青苗法 1643年9月21日皇太极逝世 1898年9月21日慈禧太后发动戊戌政变 1909年9月21日我国飞机设计师冯如第一次试飞成功 1920年9月21日民主革命家朱执信遇难 1926年9月21日…

c++ 函数的参数是否可以为auto

(1)在vs2019开到 cpp20 的语法规范,是可以的 (2)但网上和文心一言和书上说不可以 (2) 再附上一种auto 的很炫酷的写法:

面试Java后端

sql 五表联合查询 面试八股 JDK,JRE,JVM之间的区别 JDK,Java标准开发包,它提供了编译、运行Java程序所需的各种工具和资源,包括Java编译器、Java运行时环境,以及常用的Java类库等。 JRE(Java Runtime Environment)&…

label_studio中uwsgi内存占用高的问题排查

问题描述 使用docker起的label_studio服务,起来就占了8GB内存,无论是否有标注任务。 而且这个么大内存label_studio起来就有,不是随着时间起来的。本来发现问题的是label_stuido17.3, 我下载了18.02版本的docker,问题也是一样的,…

视频监控系统/安防监控/视频AI智能分析网关:持刀检测算法场景汇总

TSINGSEE青犀AI智能分析网关——持刀检测算法,是一种利用计算机AI分析算法技术来检测和辨别视频中是否存在刀具的算法,用来保障群众安全,维护公共治安,还可以与“人员跌倒”、“人员聚集”、“人员跌倒”等算法结合,制…

inpaint-anything:分割任何东西遇到图像修复

用户可以通过单击图像中的任何对象来选择它。借助强大的视觉模型,例如SAM,LaMa和稳定扩散(SD),Inpaint Anything能够顺利地删除对象(即删除任何内容)。 此外,在用户输入文本的提示下…

JUnit测试进阶(Mock测试)

Mock测试 一、Mock测试1.Mock测试产生背景2.什么是Mock测试3.具体案例 一、Mock测试 1.Mock测试产生背景 一个应用程序通常由多个类文件组成,各个类之间彼此存在着继承,实现,关联,依赖等关系,共同为用户服务。应用中单…

vue部分/所有内容全屏切换展示

需求:就是把一个页面的某一部分内容点击全屏操作按钮后全屏展示,并非所有内容全屏,所有内容的话那肯定就所有全屏展示啊,可以做切换 1.部分全屏代码 element.requestFullscreen();这个就是全屏的代码了,注意前面的ele…

学习如何编码

在学习编码时感受到一些失败 ● 他在编码旅途之初并没有一个明确的目标; ● 他从看课程和阅读教程开始,但他只会复制代码,而不关心它是如何工作的。有时候他会复制粘贴代码 ● 他没有通过做小挑战或记笔记来强化他正在学习的东西 ● 他没有练…

springboot整合全局异常处理

一、项目结构 二、全局异常 (1)启动类 package com.mgx;import com.mgx.common.dto.Result; import com.mgx.utils.ErrorUtil; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.spr…

GLIP:将语言图像预训练引入目标检测

本文将深入研究一篇论文,该论文以CLIP在语言图像预训练方面的巨大成功为基础,并将其扩展到目标检测任务:GLIP — G圆形语言图像预训练。我们将涵盖论文的关键概念和发现,并通过提供进一步的上下文以及为图像和实验结果添加注释来使它们易于理解。我们走吧!

sublime text3 设置代码错误提示之php

第一步: ctrlshiftp 输入 install package 并选中 第二步: 输入 sublimelinter-php 第三步: Prefernces> package Settings >Sublimelinter > settings 这里不同按照版本可能不一样 有些可能是 settings User 第四步 完成

element show-overflow-tooltip 复制

el-table-column的show-overflow-tooltip弹出的提示无法复制&#xff0c;官方也暂时不准备解决&#xff0c;可以自己模拟一个 <el-table-column label"支付单号" width"100"><template #default"{ row }"><el-tooltip :content&…

正则表达式新解

文章目录 是什么&#xff1f;正则用法匹配单个字符匹配一组字符其他元字符核心函数 贪婪匹配和非贪婪匹配正则练习 是什么&#xff1f; 正则表达式(Regular Expression)是一种文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a 到 z 之间的字母&#xff09;和特殊…

华为OD机试 - 矩形相交的面积 - 逻辑分析(Java 2023 B卷 100分)

目录 专栏导读一、题目描述二、输入描述三、输出描述1、输入&#xff1a;2、输出&#xff1a;3、说明 四、解题思路五、Java算法源码六、效果展示1、输入2、输出3、说明 华为OD机试 2023B卷题库疯狂收录中&#xff0c;刷题点这里 专栏导读 本专栏收录于《华为OD机试&#xff0…

文本文件中回车及空格字符的删除(自用)

问题&#xff1a;notepad显示正常但是&#xff0c;其他文本文件打开发现数据之间有空格 解决步骤&#xff1a; [1] 把符号都显示出来 [2] 删除字符 [2-1]CR LF ----- \r\n [2-2]还有一种就是箭头&#xff0c;也会呈现 同样用替换的方法处理

计算机毕业设计 基于SSM+Vue的农业信息管理系统的设计与实现 Java实战项目 附源码+文档+视频讲解

博主介绍&#xff1a;✌从事软件开发10年之余&#xff0c;专注于Java技术领域、Python人工智能及数据挖掘、小程序项目开发和Android项目开发等。CSDN、掘金、华为云、InfoQ、阿里云等平台优质作者✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精…