Linux工具篇 之 vim概念 操作 及基础指令讲解

news2024/12/24 21:23:41

学校不大 创造神话

讲桌两旁 陨落的王

临时抱佛脚 佛踹我一脚

书山有路勤为径 游戏玩的很起劲

想要计算机学的好,我的博客列表是个宝

–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀-正文开始-❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–❀–

目录

一、vim的基本概念

二、vim的基本操作

三、vim命令模式命令集

四、vim底行模式命令集

五、完结撒❀


一、vim的基本概念

在介绍vim之前有些同学可能听过vi,vi/vim的区别简单点来说,它们都是多模式编辑器,不同的是vimvi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面。

这篇博客我们先讲解vim基础的三种模式(其实vim一共有12种模式),分别是命令模式(command mode)、插入模式(insert mode)、底行模式(last line mode),各模式的功能区分如下:

● 正常/普通/命令模式(Normal mode)

控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入 Insert mode 下,或者到 last line mode

● 插入模式(insert mode)

只有在 Insert mode 下,才可以做文字输入,按「 ESC 」键可回到命令行模式。该模式是我们后面用的最频繁的编辑模式。

● 末行模式(last line mode)

文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作。 在命令模式下, shift+;=: 即可进入该模式。要查看你的所有模式:打开 vim ,底行模式直接输入

二、vim的基本操作

进入vim,在系统提示符号输入vim及文件名称后,就进入vim全屏幕编辑画面:

$ vim test.c

不过有一点要特别注意,就是你进入vim之后,是处于[命令模式],你要切换到[插入模式]才能够输入文

[命令模式] 切换至 [插入模式]

● 输入a 光标向后一格进入插入模式

● 输入i  光标当前位置进入插入模式

● 输入o 光标回车到下一行进入插入模式

[插入模式]切换至[命令模式]

目前处于[ 插入模式 ] ,就只能一直输入文字,如果发现输错了字 , 想用光标键往回移动,将该字删除,可 以先按一下「 ESC 」键转到 [ 命令模式 ] 再删除文字。当然,也可以直接删除。
[命令模式]切换至[底行模式]
「shift + ; , 其实就是输入「 :
退出vim及保存文件,[命令模式]下,按一下「:」冒号键进入[底行模式],例如:
: w(保存当前文件)

: wq (输入「wq,存盘并退出vim)

: q!(输入 q!, 不存盘强制退出 vim)

三、vim命令模式命令集

● 插入模式

按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

按「a 」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;
按「o 」进入插入模式后,是插入新的一行,从行首开始输入文字

从插入模式切换为命令模式

按「ESC」键。

● 移动光标

vim可以直接用键盘上的光标来上下左右移动,但正规的 vim 是用小写英文字母「 h 」、「 j 」、「 k 」、「 l 」,分别控制光标左、下、上、右移一格
按「 $ 」:移动到光标所在行的 行尾”
按「 ^ 」:移动到光标所在行的 行首”
按「 w 」:光标跳到下个单词的开头
「b 」:光标回到上个字的开头
按「 e 」:光标跳到下个字的字尾
按「 #l 」:光标移到该行的第# 个位置,如: 5l,56l
按[gg ]:进入到文本开始
按[shift g = G ]:进入文本末端
按「ctrl + b 」:屏幕往 移动一页
按「ctrl + f 」:屏幕往 移动一页
按「ctrl + u 」:屏幕往 移动半页
按「ctrl + d 」:屏幕往 移动半页

● 删除文字

 「x」:每按一次,删除光标所在位置的一个字符

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

● 复制

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

「#yw 」:复制 # 个字到缓冲区
「yy 」:复制光标所在行到缓冲区。
「#yy 」:例如,「 6yy 」表示拷贝从光标所在的该行 往下数 ”6 行文字。
「p 」:将缓冲区内的字符贴到光标所在位置。注意:所有与 “y” 有关的复制命令都必须与 “p” 配合才能完 成复制与粘贴功能。

替换

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

撤销上一次操作

「u 」:如果您误执行一个命令,可以马上按下「 u 」,回到上一个操作。按多次 “u” 可以执行多次回 复。
「ctrl + r : 撤销的恢复

更改

「cw 」:更改光标所在处的字到字尾处
「c#w 」:例如,「 c3w 」表示更改 3 个字

跳至指定的行

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

● 其他查用指令

● Shift + `=~:大小写快速切换

● Shift + zz=ZZ:直接保存并退出

● Ctrl + z:挂后台,程序并没有关闭

● Ctrl + ww:在vs开多窗口下,进行光标的窗口切换

四、vim底行模式命令集

在使用底行模式之前,请记住先按「 ESC 」键确定您已经处于命令模式,再按「:」冒号即可进入底行模式。

列出行号

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

跳到文件中的某一行

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

查找字符

「/ 关键字」 : 先按「 / 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按 n 」会往后寻找到您要的关键字为止。
「? 关键字」:先按「 ? 」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直 按「 n 」会往前寻找到您要的关键字为止。
问题:/ 和 ?查找有和区别?操作实验一下

保存文件

「w : 在冒号输入字母「 w 」就可以将文件保存起来
离开vim
「q 」:按「 q 」就是退出,如果无法离开 vim ,可以在「 q 」后跟一个「 ! 」强制离开 vim。
「wq 」:一般建议离开时,搭配「 w 」一起使用,这样在退出的时候还可以保存文件。

● 批量化注释命令操作

该操作相对复杂,一共分为5步

● 1.Ctrl+v 进入视图模式

● 2.hjkl,滑动选中范围,支持Shift+g(G)文本全选,n+Shift+g 选中范围选到第n行

● 3.Shift+i 进入插入模式

● 4.//......(输入要批量化的操作)

● 5.Esc

● 其他常用指令

● !command(shell指令):不退出vim,可以在底行进行shell命令的执行,常用做函数查看,比如:!man 3 fflush

●vs filename(文件名):分屏,多文件操作

五、完结撒❀

如果以上内容对你有帮助不妨点赞支持一下,以后还会分享更多编程知识,我们一起进步。
最后我想讲的是,据说点赞的都能找到漂亮女朋友❤

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

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

相关文章

linux的lcd屏幕调试

x2600-lcd的sat101cp50d24b1屏幕的驱动调试 1.硬件关联 屏幕型号:sat101cp50d24b1 原理图: 很显然,这是RGB666显示格式的屏幕,RGB管脚DATA0-DATA17--为数据线 DEN 数据使能线。 VSYNC 垂直同步信号线。 HSYNC 水平同步信号线。…

vue-print-nb插件来实现打印功能——打印布局及尺寸处理

之前写过一篇文章是关于vue-print-nb插件实现打印功能, vue插件——vue-print-nb 实现打印功能:http://t.csdnimg.cn/ahuxp 但是在实际使用过程中,打印的效果不尽如人意。下面把打印页面和遇到的问题做一下汇总: 1.html代码——给打印元素绑…

vivado Aurora 8B/10B IP核(6)-本地流量控制(Native Flow Control)

Aurora 8B/10B 协议包括本地流控制(NFC)接口,其允许接收机通过指定必须 放入数据流的空闲数据跳数来控制接收数据的速率。 甚至可以通过请求发送器临时发送空闲(XOFF) 来完全关闭数据流.NFC 通常用于防止 FIFO 溢出条…

Python | Leetcode Python题解之第52题N皇后II

题目: 题解: class Solution:def totalNQueens(self, n: int) -> int:def backtrack(row: int) -> int:if row n:return 1else:count 0for i in range(n):if i in columns or row - i in diagonal1 or row i in diagonal2:continuecolumns.add…

【Unity基础】TextMeshPro组件学习过程记录

目录 1.TextMeshPro组件渲染创建文本RTL Editor字体Font Asset字体加粗,下划线等字体大小控制字体颜色控制字体渐变控制字符间隔、单词间隔、行间距、段落间距控制WrappingUV映射控制代码 2.TextMeshPro组件AssetFace InfoGeneration Setting 3.使用Dynamic SDF Sys…

Java基础_JDBC

JDBC 概述步骤项目创建流程代码改进 使用Statement的问题:SQL注入(1)SQL注入(2)PreparedStatement1、防止SQL注入2、批处理 事务连接池建立数据库连接实现 日志 概述 Java数据库连接,(Java Dat…

机器学习:驱动现代交通运输革命的AI智慧引擎

🧑 作者简介:阿里巴巴嵌入式技术专家,深耕嵌入式人工智能领域,具备多年的嵌入式硬件产品研发管理经验。 📒 博客介绍:分享嵌入式开发领域的相关知识、经验、思考和感悟,欢迎关注。提供嵌入式方向…

POCEXP编写—多线程

POC&EXP编写—多线程 1. 前言2. 多进程&多线程2.1. 多进程2.1.1. 案例 2.2. 多线程2.2.1. 案例: 2.3. POC的案例(模板) 3. UA头设置3.1. 随机UA头3.1.1. 案例3.1.2. 模板拼接 4. 代理Proxy4.1. 单代理案例4.2. 多代理案例4.2.1. 请求…

2024年最新linux安装harbor

linux安装harbor Harbor官方介绍这里就不照搬了,说直白点:Harbor就是私有的 Docker Hob 镜像仓库。 前置条件:安装好docker,docker-compose 1、安装harbor离线包(在线安装形式不稳定,由于网络原因中间可能中断&…

C++ 小游戏:战斗之旅

一、游戏名称:战斗之旅 游戏规则 角色选择:玩家可以选择不同的角色,每个角色都有不同的属性和技能。商城:玩家可以访问商城购买不同的装备,包括武器和回复物品。战斗:玩家可以与其他角色进行战斗。在战斗…

盲人定位设备:为视障人士独立出行铺设智慧之路

在快速发展的数字时代,科技的每一次跃进都在悄然改变我们的生活方式。对于盲人朋友而言,一款名为“蝙蝠避障”集实时避障于一身的盲人定位设备,正成为他们探索世界、实现独立出行的有力助手。这款设备,不仅重新定义了无障碍出行的…

YOLOv8+PyQt5输电线路缺陷检测(目前最全面的类别检测,可以从图像、视频和摄像头三种路径检测)

1.效果视频:YOLOv8PyQt5输电线路缺陷检测(目前最全面的类别检测,可以从图像、视频和摄像头三种路径检测)_哔哩哔哩_bilibili 资源包含可视化的输电线路缺陷检测系统,可识别图片和视频当中出现的五类常见的输电线路缺陷…

新书速览|ChatGLM3大模型本地化部署、应用开发与微调

实战文本生成、智能问答、信息抽取、财务预警应用开发,掌握ChatGLM3大模型部署、开发与微调技术 01 本书内容 《ChatGLM3大模型本地化部署、应用开发与微调》作为《PyTorch 2.0深度学习从零开始学》的姊妹篇,专注于大模型的本地化部署、应用开发以及微…

Linux基本指令(3)

目录 时间相关的指令: 1.在显示方面,使用者可以设定欲显示的格式,格式设定为一个加好后接数个标记,其中常用的标记列表如下: 2.在设定时间方面: 3.时间戳: Cal指令: find指令&a…

Kubernetes 声明式语言 YAML

什么是 YAML YAML(YAML Ain’t Markup Language)是一种可读的数据序列化语言,通常用于配置文件、数据序列化和交换格式。YAML 的设计目标是易读易写,并且能够映射到动态语言中的数据结构 YA加粗样式ML 是 JSON 的超集&#xff0…

纯血鸿蒙APP实战开发——Navigation实现多设备适配案例

介绍 在应用开发时,一个应用需要适配多终端的设备,使用Navigation的mode属性来实现一套代码,多终端适配。 效果图预览 使用说明 将程序运行在折叠屏手机或者平板上观看适配效果。 实现思路 本例涉及的关键特性和实现方案如下&#xff1a…

MyBatis(注解方式操作)

文章目录 1.注解方式操作文件目录1.快速入门(完整步骤)1.pom.xml(完整)2.resources/jdbc.properties外部配置文件(根据实际情况修改参数)3.在resources/mybatis-config.xml(完整)中配…

仓库管理系统(WMS)是什么?有哪些功能?

阅读本文,你将了解:1、仓库管理(WMS)是什么? 2、仓库管理系统(WMS)有什么功能 3、使用仓库管理系统能给企业带来什么好处 一、仓库管理系统是什么 WMS,全称Warehouse Management S…

借助Aspose.SVG图像控件,在线将 PNG 转换为 XML

Aspose.SVG for .NET 是用于SVG文件处理的灵活库,并且与其规范完全兼容。API可以轻松加载,保存和转换SVG文件,以及通过其文档对象模型(DOM)读取和遍历文件的元素。API独立于任何其他软件,使开发人员无需使用…

BGP配置和应用案例

策略路由的配置步骤 l 策略路由的配置步骤如下: 创建route-map 通过ACL匹配感兴趣的数据,定义策略动作 在指定接口下通过ip policy 命令应用route-map l 最终实现对通过该接口进入设备的数据进行检查,对匹配的数据执行规定的策略…