Linux VIM指令

三种模式

命令模式:控制屏幕光标的移动,字符、字或行的删除等输入对文件的一些指令

插入模式:对文件内容进行文字输入

底行摸索:文件保存或退出,也可以进行文件替换,找字符串,列出行号等操作

命令模式:(刚进入文件时)

插入模式:(点击i)(退出esc)

底行模式:(shift+;进入底行模式,w保存,w!强制保存,q退出,q!强制退出,wq保存并退出)(退出esc)

vim操作命令

命令模式

移动光标:(命令模式点击)

左右:h    l

上下:k    j

小键盘上下左右可以在插入模式下移动光标

按「G」:移动到文章的最后(大小写有区别

按「 $ 」:移动到光标所在行的“行尾”

按「^」:移动到光标所在行的“行首”

按「w」:光标跳到下个字的开头

按「e」:光标跳到下个字的字尾

按「b」:光标回到上个字的开头

按[gg]:进入到文本开始

按[shift+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在输入替换后的字符)

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

撤销上一次操作

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

「ctrl + r」: 撤销上一次的的撤销

更改

「cw」:更改光标所在处的字到字尾处

「c#w」:例如,「c3w」表示更改3个字

跳至指定的行

「ctrl」+「g」列出光标所在行的行号所占全文内容的百分比。

「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

窗口光标切换

crtl ww :光标在哪一个窗口里,就对哪一个窗口进行操作

大小写切换

shift ~  :切换光标所在位置字符的大小写

底行(末行)模式

行号

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

「set nonu」:关闭行号

跳到文件中的某一行

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

查找字符

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

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

保存文件

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

离开vim

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

打开多个文件编辑窗口

vs

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

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

相关文章

icloud 如何高效利用

iCloud 是苹果公司提供的一项云存储服务,旨在帮助用户在各个苹果设备之间同步和备份数据。高效利用 iCloud 可以显著提升你的工作效率和数据管理能力。以下是一些高效利用 iCloud 的方法和技巧。 ### 1. 启用 iCloud 同步 #### iPhone/iPad 上的设置 1. 打开“设置…

Python语言例题集(014)

#!/usr/bin/python3 #建立双向链表。 class Node(): def init(self,dataNone): self.datadata self.nextNone self.previousNone class DoubleLinkedList(): def init(self): self.headNone self.tailNone def addDoubleList(self,newNode):if isinstance(newNode,Node):if…

error LNK2038: 检测到“boost_log_abi”的不匹配项

最近项目上遇到了这个问题,看提示和查阅资料知道是boost版本不匹配的问题,但是项目原因换boost版本不太现实,一时竟然不知道怎么解决。 后来在同事的提示下,对于boost_log相关的代码,引用其头文件时,放到最…

云计算-关系型数据库(Relational Database)

关系数据库服务(RDS)(Relational Database Service (RDS)) Amazon RDS 可用于在云中设置和运行关系数据库。它支持多种数据库实例类型以及多个数据库引擎,如 Amazon Aurora、PostgreSQL、MySQL、MariaDB、Oracle 数据库…

若依实现路由跳转功能 动态路由获取参数

若依实现路由跳转功能 动态路由 若依前端中的动态路由参考代码 动态路由设置:router文件 {path: /system/dict-data,component: Layout,hidden: true,permissions: [system:dict:list],children: [{path: index/:dictId(\\d),component: () > import(/views/sy…

Unity环绕物体的摄像机,添加了遮挡的适应

第三人人称摄像机 支持的功能 设定目标后使用鼠标可以环绕目标点旋转,且会进行遮挡的适配,当有遮挡的时候会移动差值移动到没有遮挡的位置。 使用方式 将vThirdPersonCamera 挂在与摄像机上然后为target赋值。 如果有需要检测遮挡的层级可以修改&…

早餐店燃气安全岂能马虎?探头选择与年检必须到位

在现代都市生活中,早餐店作为人们日常生活中的重要一环,其安全性问题日益受到人们的关注。其中,燃气泄漏引发的火灾和爆炸事故尤为令人担忧。 因此,点式可燃气体报警器在早餐店中的应用显得尤为重要。 在这篇文章中,…

Unity图片(高度图)转法线贴图

项目中有需求动态生成法线贴图,研究了下从高度图生成法线贴图的方法,代码放在文末,可依据具体情况进行修改,理论上也可以通过其他数据源转换到法线贴图。 我的例子是取的灰度值作为了高度值。 参考连接 private void HeightMapToN…

nodejs 解决高并发

在Node.js中解决高并发的问题,可以采取以下几种策略: 1. 异步非阻塞I/O: Node.js的异步非阻塞I/O模型让其在处理高并发请求时具有优势。在接收到请求后,Node.js可以立即接受其他请求,而不需要等待当前请求的I/O操作完…

AIGC产业链上下游解析及常见名词

文章目录 AIGC上游产业链 - 基础层AIGC中游产业链 - 大模型层与工具层AIGC下游产业链 - 应用层AIGC产业链常见的名词表 在上一章节为大家介绍了 “大模型的不足与解决方案” ,这一小节呢为大家针对AIGC的相关产业进行一个拆解,以及相关的一些专业名词做出…

【编程题-错题集】奇数位丢弃(模拟 - 规律)

牛客对应题目链接&#xff1a;奇数位丢弃_牛客题霸_牛客网 (nowcoder.com) 一、分析题目 通过⼀两个例子的模拟&#xff0c;可以发现&#xff1a;每次起始删除的下标都是 2 的次方。根据这个规律&#xff0c;找到最后⼀次删除的起始位置的下标即可。 二、代码 #include <io…

什么是渗透测试

什么是渗透测试渗透测试就是模拟真实黑客的攻击手法对目标网站或主机进行全面的安全评估&#xff0c;与黑客攻击不一样的是&#xff0c;渗透测试的目的是尽可能多地发现安全漏洞&#xff0c;而真实黑客攻击只要发现一处入侵点即可以进入目标系统。 一名优秀的渗透测试工程师也…

感知觉训练:解锁独立生活的钥匙

在日新月异的科技时代&#xff0c;一款名为“蝙蝠避障”的辅助软件以其独到之处&#xff0c;为盲人朋友的日常生活平添了诸多便利&#xff0c;不仅实现了实时避障&#xff0c;还通过拍照识别功能扩展了信息获取的边界。然而&#xff0c;科技辅助之外&#xff0c;提升盲人朋友的…

python桌球游戏

以下是一个简单的桌球游戏的示例代码&#xff1a; import pygame import random # 初始化pygame pygame.init() # 设置屏幕大小和标题 screen_width 800 screen_height 500 screen pygame.display.set_mode((screen_width, screen_height)) pygame.display.set_cap…

Android 深入系统源码探讨 Activity、Window 和 View 的关系与实践

文章目录 1、概括2、Android Window 设计2.1、Window 类2.2、PhoneWindow2.3、WindowManager2.4、ViewRootImpl2.5、DecorView 3、Android Activity 设计3.1、Activity的基本概念3.2.、Activity的生命周期3.3、Activity的内部结构 4、Android View 设计4.1、View的基本概念4.2、…

LangChain 0.2 - 构建RAG应用

本文翻译整理自&#xff1a;Build a Retrieval Augmented Generation (RAG) App https://python.langchain.com/v0.2/docs/tutorials/rag/ 文章目录 一、项目说明什么是 RAG &#xff1f;概念索引检索和[生成 二、预览三、详细演练1.索引&#xff1a;加载2. 索引&#xff1a;拆…

C++中的类型查询:探索typeid和type_info

前言 在编程的世界里&#xff0c;了解和操作数据类型是至关重要的。Python 通过内置的 type() 函数提供了一种简单的方式来查询变量的类型。然而&#xff0c;在 C 这种静态类型语言中&#xff0c;类型信息通常是在编译时就已经确定的。尽管如此&#xff0c;C 标准库还是提供了…

陈丽:人工智能赋能教育创新发展

5月20日&#xff0c;在顾明远先生莅临科大讯飞考察指导高端咨询会暨“人工智能与未来教育”的主题研讨会上&#xff0c;北京师范大学原副校长、中国教育技术协会副会长陈丽教授作了题为《人工智能赋能教育创新发展》的主旨报告。 &#xff08;以下内容根据陈丽教授在研讨会上的…

期权课程之第三节【什么是ITM,ATM,OTM】

我们可以根据正股行权价和股价关系 对期权进行一个分类 ITM 全称为In-the-money&#xff1a;行权后可以获得收益的期权 根据call和put &#xff0c;又可以分为两类 ITM call &#xff1a; 行权价< 股价 &#xff0c;IMT Put &#xff1a;行权价>股价 比如这个时候&a…

React 中的响应时间详解

使用 React 可以在 JSX 中添加 事件处理函数。其中事件处理函数为自定义函数&#xff0c;它将在响应交互&#xff08;如点击、悬停、表单输入框获得焦点等&#xff09;时触发。 添加事件处理函数 如需添加一个事件处理函数&#xff0c;你需要先定义一个函数&#xff0c;然后…